Python 附加到列表时应用lambda函数
想象一个一维数组“inter”和一个空列表“visualpred”。我想迭代数组中的所有元素,并将每个元素附加到我的列表中,同时使用列表的最后一个条目添加元素。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__.
我的代码如下所示:
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在这里抱歉!笨蛋我。。。。