如果列表项低于某个值,如何删除它?

时间:2014-08-23 08:19:47

标签: python list

假设我有一个列表

a = [100, 78, -5, 0, 10]

如何删除低于或等于零的项目。我尝试使用过滤器,但只删除了某个值的项目。

2 个答案:

答案 0 :(得分:2)

使用列表推导过滤列表并将所有内容保持在零以下:

a = [i for i in a if i > 0]

这将创建一个新的列表对象,替换前一个。如果您对列表有多个需要查看更改的引用,请分配给切片:

a[:] = [i for i in a if i > 0]

现在a的内容被列表推导结果的内容替换。

答案 1 :(得分:0)

你需要一个带过滤器的lambda:

 filter(lambda x: x>0)