Python将字典中的键值对反转方法有三种:
第一种:
dict={"a":1,"b":2,"c":3}
inverse_dic={}
for key,val in dict.items():
inverse_dic[val]=key
第二种:
dict_list={"a":1,"b":2,"c":3}
inverse_dict=dict([val,key] for key,val in dict_list.items())
第三种:
dict_list={"a":1,"b":2,"c":3}
mydict_new=dict(zip(dict_list.values(),dict_list.keys()))
附:
将26个英文字母编号
letter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 构建字符索引 {0:'A', 1:'B'......}
num_letter = dict(enumerate(list(letter)))
# 键值对反转 {'A':0, 'B':1......}
letter_num = dict(zip(num_letter.values(), num_letter.keys()))
注:enumerate()函数解决了for循环对应编号的问题