Skip to main content
 首页 » 编程设计

python之filter() 是否在 python 中就地工作

2025年05月04日11虾米哥

如果我在一个列表上调用 filter(),说:

>>> filter(lambda x: x > 1, [1,2,3,4]) 
[2, 3, 4] 

这是:

a) 在内存中用结果创建一个全新的列表

或

b) 它只是从现有列表中弹出()-ing 项目并返回相同的列表吗?

请您参考如下方法:

过滤器返回一个新列表,其中包含满足给定条件的表达式元素。原始列表完好无损。在您的情况下,这并不重要,因为您的列表是一个就地常量——但我假设您有一个更通用的应用程序。

参见 documentation : 它指出 filter 构造了一个新的可迭代对象(列表、元组、...)。