我是Python的新手,想知道如何从列表中删除项目。比如我有以下列表:
a=[(102,12,0),(123,12,0),(124,12,1)]
我想要删除以0结尾的项目,这样我的列表就会像这样:
a = [(124,12,1)]
在这里:
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)]
>>>
None
或空集合(任何评估为False
的内容)。 - Gareth Latty虽然不如一行代码的列表推导式那么棒,但仍然能够胜任 :)
b = tuple
for tple in a:
b = b + tple
result = tuple
for val in set(b):
if val % 10 != 0:
result = result + (val,)
for i in a.copy(): \n if i[-1] == 0: \n a.remove(i)
。 - user1632861.copy() & .remove()
而不是tmp & .append()
。只是发表一下我的观点 :) - user1632861iteritems
并删除呢?(for i in iter(a): \n if i[-1] == 0: \n a.remove(i)
) - Inbar Rose