📌  相关文章
📜  Python - 查找特定键的每个值的出现次数(1)

📅  最后修改于: 2023-12-03 15:04:03.426000             🧑  作者: Mango

Python - 查找特定键的每个值的出现次数

在 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 中查找某个特定键的所有值并统计每个值出现的次数,可以尝试使用这个函数。