python - 如何通过就地过滤来修改 python 集合?

标签 python collections

我想知道,Python 中是否有办法在不创建新集合的情况下修改集合。例如:

lst = [1, 2, 3, 4, 5, 6]
new_lst = [i for i in lst if i > 3]

工作正常,但创建了一个新集合。 Python 集合缺少可就地修改集合对象的 filter() 方法(或类似方法)是否有原因?

最佳答案

如果您想就地执行此操作,只需使用

lst[:] = [i for i in lst if i > 3]

won't be faster or save any memory ,但如果这是您需要的语义,它会更改对象。

关于python - 如何通过就地过滤来修改 python 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037455/

相关文章:

python - 使用 pandas 根据每日百分比返回计算累积股价指数

python - 如何获取micro写入的文件:bit to the PC?

silverlight - 当单个项目的属性更改时,如何自动更新 CollectionViewSource 上的过滤器和/或排序顺序?

c# - 将嵌套字典转换为 IReadOnlyDictionary

java - 比较相同内容的可迭代对象,但不考虑顺序

python - Plotly:如何根据时间段绘制时间图?

python - 如何使用具有不同特征维度的数据集训练 sklearn 分类器?

python - MPI4Py comm.Barrier() 没有阻塞 MSMPI?

java - 如何使用集合在java中按对象分组?

java - 如何创建签名为 List 的方法