要搜索列表中有多少字典包含两个特定值,可以使用Python中的列表推导式结合条件判断来实现。以下是一个示例代码:
# 假设我们有一个字典列表
data = [
{'name': 'Alice', 'age': 25, 'city': 'New York'},
{'name': 'Bob', 'age': 30, 'city': 'Los Angeles'},
{'name': 'Charlie', 'age': 25, 'city': 'Chicago'},
{'name': 'David', 'age': 30, 'city': 'New York'}
]
# 我们要查找的特定值
key1 = 'age'
value1 = 25
key2 = 'city'
value2 = 'New York'
# 使用列表推导式查找符合条件的字典
matching_dicts = [d for d in data if d.get(key1) == value1 and d.get(key2) == value2]
# 计算符合条件的字典数量
count = len(matching_dicts)
print(f"符合条件的字典数量: {count}")
[d for d in data if d.get(key1) == value1 and d.get(key2) == value2]
遍历列表中的每个字典 d
,并检查是否同时满足两个条件:d.get(key1) == value1
和 d.get(key2) == value2
。d.get(key1) == value1
和 d.get(key2) == value2
分别检查字典 d
中的 key1
是否等于 value1
,以及 key2
是否等于 value2
。len(matching_dicts)
计算符合条件的字典数量。这个方法可以用于各种需要筛选和计数的场景,例如:
希望这个解答对你有帮助!如果有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云