我有一个包含元组的列表,我想检查元组中的第一个值是否包含特定的值。你知道吗
这是我目前的解决方案:
cities = [("Hamburg", "Germany"), ("London", "England"), ("Paris", "France")]
for city in cities:
if city[0] == "Hamburg":
contains_Hamburg = True
break
else:
contains_Hamburg = False
如果城市不储存国家,这看起来是这样的:
cities_simple = ["Hamburg", "London", "Paris"]
contains_Hamburg = "Hamburg" in cities_simple
有没有一种方法可以混合使用in
操作符?例如,我可以这样做:
contains_Hamburg = "Hamburg" in [city[0] for city in cities]
但是这会创建第二个列表,所以我很犹豫是否使用它(如果python没有真正创建第二个列表的话,我想就可以了)。你知道吗
你很接近!^{} 可用于检查任何元素是否为True。通过使用generator expression而不是列表理解,您可以避免额外的列表混乱的内存。你知道吗
您也可以使用
==
而不是in
,如下所示。你知道吗如果您的城市列表将是元组和字符串的组合,如:
可以使用lambda函数将其解包:
在发电机中使用:
如果你要在很多城市使用这个函数,那么创建一个函数是值得的
相关问题 更多 >
编程相关推荐