Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中一次从列表中删除多个元素?_Python_Python 3.x - Fatal编程技术网

如何在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]