如何检查元组列表中的值?

时间:2014-02-22 10:42:27

标签: python

我有一个像这样的元组列表:

l = [(10,'bat'), (50,'ball'), (100,'goal')]

我想检查100是否在任何元组中。如果它在那里,我需要删除它的值'goal'。

我该怎么做?

TIA

2 个答案:

答案 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