📅  最后修改于: 2023-12-03 14:54:28.441000             🧑  作者: Mango
当我们需要查找字典中具有相同值的键时,可以使用 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']}
我们可以使用这种方法来解决许多实际问题。