【发布时间】:2011-02-09 00:03:03
【问题描述】:
我想从列表列表中过滤元素,并使用 lambda 迭代每个元素的元素。例如,给定列表:
a = [[1,2,3],[4,5,6]]
假设我只想保留列表总和大于 N 的元素。我尝试编写:
filter(lambda x, y, z: x + y + z >= N, a)
但我得到了错误:
<lambda>() takes exactly 3 arguments (1 given)
如何在将每个元素的值分配给 x、y 和 z 时进行迭代?类似 zip 的东西,但用于任意长的列表。
谢谢,
附言我知道我可以这样写: filter(lambda x: sum(x)..., a) 但这不是重点,想象这些不是数字而是任意元素,我想将它们的值分配给变量名。
【问题讨论】:
标签: python list list-comprehension