Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.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_Arrays_List_Lambda - Fatal编程技术网

Python 附加到列表时应用lambda函数

Python 附加到列表时应用lambda函数,python,arrays,list,lambda,Python,Arrays,List,Lambda,想象一个一维数组“inter”和一个空列表“visualpred”。我想迭代数组中的所有元素,并将每个元素附加到我的列表中,同时使用列表的最后一个条目添加元素。 我的代码如下所示: visual = [] for x in inter: if x > 0: visual.append(lambda x: x + visual[-1]) else: visual.append(visual[-1]) function __main__.

想象一个一维数组“inter”和一个空列表“visualpred”。我想迭代数组中的所有元素,并将每个元素附加到我的列表中,同时使用列表的最后一个条目添加元素。

我的代码如下所示:

visual = []

for x in inter:
    if x > 0:
        visual.append(lambda x: x + visual[-1])
    else:
        visual.append(visual[-1])
function __main__.lambda(x)

执行代码后,我的列表“inter”中的所有条目如下所示:
function __main__.lambda(x)

这里的问题是什么?我如何挑战它?

您在这里所做的是将lambda函数本身附加到列表中,而不是lambda函数输出。我真的不明白你为什么需要一个兰姆达。这正是你想要的

visual = []

for x in inter:
    if x > 0:
        visual.append(x + visual[-1])
    else:
        visual.append(visual[-1])

正如
BeanBagTheCat
所指出的,您将lambda函数本身附加到列表中,而不是lambda函数输出。您可以使用列表理解,通过
BeanBagTheCat
在一行中编写相同的代码,如下所示:


visual=[x+visual[-1]如果x>0,则inter中x的其他可视[-1]
visual.append(x+visual[-1])
,为什么要使用
lambda
lambda
语法用于创建函数,您似乎不需要函数。您正在存储lambda表达式的引用。我想你不需要lambda在这里抱歉!笨蛋我。。。。