我尝试将此函数写入lambda函数,我尝试了很多选项,但我无法成功:
def getitem_rlist(s, i):
while i > 0:
s, i = rest(s), i - 1
return first(s)
我知道开头:
getitem_rlist=lambda s,i:....?
谢谢!
例如:s=(1,(2,(3,4)))
然后getitem_rlist(a,2))# -> 3
该函数需要返回递归列表s的索引i处的元素
答案 0 :(得分:2)
getitem_rlist=lambda s,i: getitem_rlist(s[1:][0],i-1) if i > 0 else s[0]
也许你想要的......在不知道其他方法做什么的情况下很难分辨......
>>> getitem_rlist=lambda s,i: getitem_rlist(s[1:][0],i-1) if i > 0 else s[0]
>>> s=(1,(2,(3,4)))
>>> getitem_rlist(s,2)
3