如果我在一个列表上调用 filter(),说:
>>> filter(lambda x: x > 1, [1,2,3,4])
[2, 3, 4]
这是:
a) 在内存中用结果创建一个全新的列表
或
b) 它只是从现有列表中弹出()-ing 项目并返回相同的列表吗?
请您参考如下方法:
过滤器返回一个新列表,其中包含满足给定条件的表达式元素。原始列表完好无损。在您的情况下,这并不重要,因为您的列表是一个就地常量——但我假设您有一个更通用的应用程序。
参见 documentation : 它指出 filter 构造了一个新的可迭代对象(列表、元组、...)。
