-1

给定一个对象列表,其中每个对象都有一个名为 的属性x,我想从列表中删除其x属性包含值v的所有对象。

一种方法是使用列表理解:[item for item in mylist if item.x != v],但由于我的列表很小(通常小于 10)。另一种方法是循环遍历列表并检查每个项目。

是否有第三种方式同样快甚至更快?

4

2 回答 2

1

使用列表理解语法创建一个新列表。我不认为你能做任何比这更快的事情。您的列表很小并不重要,那就更好了。

于 2013-02-12T11:49:30.580 回答
1

您还可以使用生成器filter函数。选择您认为最易读的内容;在这一点上效率并不重要(特别是如果你只处理几个元素)。

于 2013-02-12T11:55:29.360 回答