Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 需要转换为lambda函数_Python_Python 3.x - Fatal编程技术网

Python 需要转换为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

我尝试将此函数写入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_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