Python 需要转换为lambda函数
我尝试将此函数写入lambda函数,我尝试了许多选项,但未能成功:Python 需要转换为lambda函数,python,python-3.x,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)) 函数需要返回递归列表s的索引i处的元素 getitem_rlist=lambda s,i: getitem
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))
函数需要返回递归列表s的索引i处的元素
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
什么是第一和第二。。。这看起来像是在试图将lisp压缩到python中……是的,我现在就编写它,在示例中,如果:s=(1,(2,(3,4)))print(getitem_rlist(a,2))->print 3i尝试编写它,但它不起作用,函数需要返回递归列表索引I处的元素,因为它没有。。。我不明白剩下的是什么。。。我想我把它修好了。。。它至少适用于您作为示例列出的s我得到了这个错误:TypeError:“function”对象不是Subscriptable这可能是rest或first的问题,所以我去掉了它们也发布了它工作的示例。。。如果您使用的是不同的s,这可能就是问题所在。。。我所拥有的只是你在示例中给出的s