Python翻转字典,即键值对换位置
一个常见的需求是翻转一个字典的键和值。所以,键会变成值,而值会变成键。
当我们这样做时,我们需要确保我们没有重复的键。虽然值可以重复,但键不能。还要确保所有的新键都是可哈希的。
""" 皮蛋编程(https://www.pidancode.com) 创建日期:2022/4/26 功能描述:Python翻转字典 """ my_dict = { "brand": "Ford", "model": "Mustang", "year": 1964 } # 根据字典的内容来反转字典 # 1- 如果我们知道所有的值都是唯一的。 my_inverted_dict = dict(map(reversed, my_dict.items())) # 2- 如果存在非唯一的值 from collections import defaultdict my_inverted_dict = defaultdict(list) {my_inverted_dict[v].append(k) for k, v in my_dict.items()} # 3- 如果任何一个值都是不可哈希的 my_dict = {value: key for key in my_inverted_dict for value in my_inverted_dict[key]}
相关文章