从python中的列表中删除项目

时间:2012-12-27 13:54:28

标签: python list

我是python的新手,我想知道如何从列表中删除项目。说我有清单:

a=[(102,12,0),(123,12,0),(124,12,1)]

我想删除最后有0的项目,所以我的列表最终会像:

a = [(124,12,1)]

3 个答案:

答案 0 :(得分:5)

这里:

a = [i for i in a if i[-1] != 0] #list comprehension (1 line) method.
当父列表也是目的地列表时,

“正常”的方式没有列表理解。

tmp = []
for i in a:
    if i[-1] != 0:
        tmp.append(i)
a = tmp

行动中:

>>> a=[(102,12,0),(123,12,0),(124,12,1)]
>>> a = [i for i in a if i[-1] != 0]
>>> a
[(124, 12, 1)]
>>> 

答案 1 :(得分:2)

您可以使用list comprehensions

假设val[-1]是迭代时使用的变量,

val会给你带有0的元组。

所以,你的代码是这样的:

a = [val for val in a if val[-1]]

答案 2 :(得分:1)

不像单线列表理解那样令人敬畏,但仍然可以做到这一点:)。

b = tuple
for tple in a:
    b = b + tple
result = tuple
for val in set(b):
    if val % 10 != 0:
        result = result + (val,)