如何在python中一次从列表中删除多个元素?
假设我有如何在python中一次从列表中删除多个元素?,python,python-3.x,Python,Python 3.x,假设我有a=[1,0,1,0,1,1,1,0,0,0,0] 我想同时删除所有的零。我可以这样做吗?您可以使用列表理解: a=[1,0,1,0,1,1,1,0,0,0,0] print([value for value in a if value != 0]) 这将从列表中删除值为0的所有元素。有多种解决方案可以做到这一点。正如清单理解已经解释,我正在尝试一些不同的东西。使用lambda函数 a=[1,0,1,0,1,1,1,0,0,0,0] b = [x for x in a if x!= 0
a=[1,0,1,0,1,1,1,0,0,0,0]
我想同时删除所有的零。我可以这样做吗?您可以使用列表理解:
a=[1,0,1,0,1,1,1,0,0,0,0]
print([value for value in a if value != 0])
这将从列表中删除值为0的所有元素。有多种解决方案可以做到这一点。正如清单理解已经解释,我正在尝试一些不同的东西。使用lambda函数
a=[1,0,1,0,1,1,1,0,0,0,0]
b = [x for x in a if x!= 0]
>>> b
[1, 1, 1, 1, 1]
Python2.x
>>> x = [1,0,1,0,1,1,1,0,0,0,0]
>>> filter(lambda a: a != 0, x)
[1, 1, 1, 1, 1]
Python3.x或更高版本
>>> x = [1,0,1,0,1,1,1,0,0,0,0]
>>> list(filter((0).__ne__, x))
[1, 1, 1, 1, 1]
或
希望有帮助:)您所说的“同时”是什么意思?此问题的解决方案是,虽然此代码可能会回答此问题,但提供有关如何和/或为什么解决此问题的附加上下文将提高答案的长期价值。
>>> x = [1,0,1,0,1,1,1,0,0,0,0]
>>> list(filter(lambda a: a != 0, x))
[1, 1, 1, 1, 1]