如何在Python中反转字典键值并逆序输出键值对?
字典逆序输出实现
假设你的字典是符合Python语法的{'a': 1, 'b': 2, 'c': 3},在Python 3.7及以上版本中,字典默认保留插入顺序,你可以通过reversed()函数逆序遍历字典的键值对,然后打印:
my_dict = {'a': 1, 'b': 2, 'c': 3} for key, value in reversed(my_dict.items()): print(key, value)
运行后会输出:
c 3 b 2 a 1
字典键值对反转实现
反转键值对需要注意原字典的值是否唯一,分两种情况处理:
情况1:值唯一
直接使用字典推导式快速反转:
my_dict = {'a': 1, 'b': 2, 'c': 3} reversed_dict = {value: key for key, value in my_dict.items()} # 结果:{1: 'a', 2: 'b', 3: 'c'}
情况2:值可能重复
如果原字典存在重复值,直接反转会导致键冲突(字典键必须唯一),此时可以用collections.defaultdict将相同值对应的键存入列表:
from collections import defaultdict my_dict = {'a': 1, 'b': 1, 'c': 2} reversed_dict = defaultdict(list) for key, value in my_dict.items(): reversed_dict[value].append(key) # 结果:defaultdict(<class 'list'>, {1: ['a', 'b'], 2: ['c']})
内容的提问来源于stack exchange,提问作者Bhaumik Reddy
相关产品推荐
相关产品推荐

