需要转换为lambda函数

时间:2013-11-10 17:34:02

标签: python python-3.x

我尝试将此函数写入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处的元素

1 个答案:

答案 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