📌  相关文章
📜  打印所有具有相同值的键 - Python (1)

📅  最后修改于: 2023-12-03 14:54:28.441000             🧑  作者: Mango

打印所有具有相同值的键 - Python

当我们需要查找字典中具有相同值的键时,可以使用 Python 中的一个方法。此方法返回一个字典,其中包含所有具有相同值的键。

以下是一个示例:

my_dict = {'apple': 2, 'banana': 3, 'orange': 2, 'pear': 1}

result_dict = {}

for key, value in my_dict.items():
    result_dict.setdefault(value, []).append(key)

print(result_dict)

以上代码将输出一个字典,其中包含具有相同值的键:

{2: ['apple', 'orange'], 3: ['banana'], 1: ['pear']}

解释:

  • setdefault() 方法用于获取指定键的值,如果该键不存在,则返回默认值。在此示例中,我们使用该方法将值作为新列表添加到 result_dict 中。
  • append() 方法用于将元素添加到列表中。

我们可以使用相同的方法来检查嵌套字典中的值。以下是一个示例:

my_dict = {'fruit': {'apple': 2, 'banana': 3, 'orange': 2, 'pear': 1}, 'vegetable': {'carrot': 4, 'lettuce': 2, 'celery': 1}}

result_dict = {}

for category, dict_data in my_dict.items():
    for key, value in dict_data.items():
        result_dict.setdefault(value, []).append(f'{category} - {key}')

print(result_dict)

以上代码将输出一个字典,其中包含具有相同值的键和对应的类别和键名:

{2: ['fruit - apple', 'fruit - orange'], 3: ['fruit - banana'], 1: ['fruit - pear', 'vegetable - celery'], 4: ['vegetable - carrot'], 2: ['vegetable - lettuce']}

我们可以使用这种方法来解决许多实际问题。