2024-03-28 15:13:15 发布
网友
在Python中,remove()将删除列表中第一个出现的值。
remove()
如何从列表中删除值的所有出现次数?
这就是我的想法:
>>> remove_values_from_list([1, 2, 3, 4, 2, 2, 3], 2) [1, 3, 4, 3]
功能方法:
2.x
>>> x = [1,2,3,2,2,2,3,4] >>> filter(lambda a: a != 2, x) [1, 3, 3, 4]
3.x
>>> x = [1,2,3,2,2,2,3,4] >>> list(filter((2).__ne__, x)) [1, 3, 3, 4]
或者
>>> x = [1,2,3,2,2,2,3,4] >>> list(filter(lambda a: a != 2, x)) [1, 3, 3, 4]
您可以使用列表理解:
def remove_values_from_list(the_list, val): return [value for value in the_list if value != val] x = [1, 2, 3, 4, 2, 2, 3] x = remove_values_from_list(x, 2) print x # [1, 3, 4, 3]
如果必须修改原始列表,并且仍然使用有效的列表理解(或生成器表达式),则可以使用切片分配。
>>> x = [1, 2, 3, 4, 2, 2, 3] >>> x[:] = (value for value in x if value != 2) >>> x [1, 3, 4, 3]
功能方法:
2.x
3.x
或者
您可以使用列表理解:
如果必须修改原始列表,并且仍然使用有效的列表理解(或生成器表达式),则可以使用切片分配。
相关问题 更多 >
编程相关推荐