我有一个具有唯一值的字典,我希望将其反转(即交换键值为 inplace )。 没有使用另一个字典有没有办法呢?
我更愿意操纵dict中的项而不是使用新的字典,以便id(my_dict)
保持不变。
答案 0 :(得分:2)
如果您尝试交换键和值并且不介意重复值创建键冲突,则可以使用一行代码轻松“反向”字典:
dictionary = dict(map(reversed, dictionary.items()))
如果您更愿意使用词典理解语法,可以写下这一行:
dictionary = {value: key for key, value in dictionary.items()}
如果您不想使用字典的items
方法,则很容易避免:
dictionary = {dictionary[key]: key for key in dictionary}
如果您能负担得起创建字典的副本,可以根据需要将其翻转:
def reverse_in_place(dictionary):
reference = dictionary.copy()
dictionary.clear()
dictionary.update(map(reversed, reference.items()))
答案 1 :(得分:0)
我想你想交换密钥和dict的值?
你可以这样做:
dict_name = dict(zip(dict_name.values(), dict_name.keys()))