📅  最后修改于: 2023-12-03 15:04:03.426000             🧑  作者: Mango
在 Python 中,有时候我们需要查找一个字典中某个特定键的所有值,并且统计每个值出现的次数。这个功能在很多实际应用中都非常有用,比如统计用户在网站上搜索某个词汇的次数。
下面是一个函数,可以实现上述功能:
def count_values(d, key):
"""
统计字典 d 中键为 key 的所有值出现的次数。
"""
result = {}
for value in d.get(key, []):
result[value] = result.get(value, 0) + 1
return result
这个函数接受两个参数:一个字典 d
和一个键 key
。它首先通过 d.get(key, [])
获取键为 key
的所有值,然后遍历这些值,使用 result.get(value, 0)
获取值 value
在字典 result
中的出现次数,最后将出现次数加 1。函数返回一个字典,其中每个键对应的值为该键在字典 d
中的所有值中出现的次数。
下面是一个例子,演示如何使用这个函数:
d = {'a': [1, 2, 3], 'b': [2, 2, 3, 4], 'c': [1, 2]}
print(count_values(d, 'a')) # {'1': 1, '2': 1, '3': 1}
print(count_values(d, 'b')) # {'2': 2, '3': 1, '4': 1}
print(count_values(d, 'c')) # {'1': 1, '2': 1}
print(count_values(d, 'd')) # {}
这个例子中,我们创建了一个字典 d
,包含三个键值对,分别为 'a': [1, 2, 3]
、'b': [2, 2, 3, 4]
和 'c': [1, 2]
。然后我们分别调用 count_values
函数,统计键为 'a'
、'b'
和 'c'
的所有值在字典 d
中出现的次数,并将结果打印出来。
下面是输出结果:
{'1': 1, '2': 1, '3': 1}
{'2': 2, '3': 1, '4': 1}
{'1': 1, '2': 1}
{}
可以看到,对于键为 'a'
的所有值,在字典 d
中每个值都只出现了一次,所以输出结果为 {'1': 1, '2': 1, '3': 1}
。对于键为 'b'
的所有值,在字典 d
中分别出现了两次、一次和一次,所以输出结果为 {'2': 2, '3': 1, '4': 1}
。对于键为 'c'
的所有值,在字典 d
中每个值都只出现了一次,所以输出结果为 {'1': 1, '2': 1}
。对于键为 'd'
的所有值,在字典 d
中没有出现过,所以输出结果为空字典 {}
。
这个函数非常简单直观,而且非常实用。如果你需要在 Python 中查找某个特定键的所有值并统计每个值出现的次数,可以尝试使用这个函数。