📅  最后修改于: 2023-12-03 15:24:20.364000             🧑  作者: Mango
Python 字典是一个无序、可变、键唯一的数据集合,通常用于存储具有关联的数据。有时候,我们需要交换字典的键和值,将原来的键作为新的值,将原来的值作为新的键。本文将介绍如何在 Python 中实现这个操作。
可以使用字典的 items()
方法获取字典中的键值对,然后使用 dict()
函数将它们反转,即将键变为值,值变为键。
# 定义一个字典
d = {'a': 1, 'b': 2, 'c': 3}
# 将键变为值
d_new = dict((v, k) for k, v in d.items())
print(d_new)
# 输出:{1: 'a', 2: 'b', 3: 'c'}
这里使用了一个生成器表达式,将原字典中的每个键值对反转,并通过 dict()
函数创建了一个新的字典。
同样可以使用 items()
方法获取字典中的键值对,然后创建一个新的字典,该字典的键是原字典中的值,值是原字典中相同值的键的列表。
# 定义一个字典
d = {'a': 1, 'b': 2, 'c': 2}
# 将值变为键
d_new = {}
for k, v in d.items():
d_new.setdefault(v, []).append(k)
print(d_new)
# 输出:{1: ['a'], 2: ['b', 'c']}
这里使用了 setdefault()
方法,它返回字典中指定键的值,如果该键不存在,就将该键的值设为一个空列表,然后返回它的值。接着,将原字典中键值对的值作为新字典的键,原字典中相同值的键作为新字典中该键的值列表的元素。