首页 > 解决方案 > 如何检查元组列表是否包含所需的元素

问题描述

如何检查元组列表是否仅包含具有元素('name','surname','adress','car','color')和('name','surname','adress')元组的元组不存在带有单个“汽车”和“颜色”

a =[
    ('name', 'surname', 'adres', 'car', 'colour'),
    ('name', 'surname', 'adres'),
    ('name', 'surname', 'adres', 'colour'),
    ('name', 'surname', 'adres', 'car')
]

for elem in a:
    if 'car' not in elem and 'colour' not in elem:
        print(elem)

下面的元组是可以的:

('name', 'surname', 'adres', 'car', 'colour') 
('name', 'surname', 'adres')

标签: pythonlisttuples

解决方案


你想像解决逻辑问题一样解决这个问题。您要么(a)在元组中找到两个值,要么(b)在元组中都没有值。您几乎可以将该表达式编码为简单的语言,如下所示:

def is_valid(t):
    return ('car' in t and 'colour' in t) or ('car' not in t and 'colour' not in t)

推荐阅读