我有一个像这样的元组列表:
l = [(10,'bat'), (50,'ball'), (100,'goal')]
我想检查100
是否在任何元组中。如果它在那里,我需要删除它的值'goal
'。
我该怎么做?
TIA
答案 0 :(得分:4)
您可以使用列表推导来过滤掉元组:
l = [t for t in l if t[0] != 100]
如果您希望/必须使用多个值执行此操作,您可以创建一组:
exclude = set(100, 30, 20)
l = [t for t in l if t[0] not in exclude]
答案 1 :(得分:0)
在任何列中检查100并从元组中删除100。
l = [(10,'bat'), (50,'ball'), (100,'goal')]
for i, row in enumerate(l[:]):
if any(col == 100 for col in row):
new_row = filter(lambda col: col != 100, row)
l[i] = new_row
print l