工作中遇到需要将元组转换成字典,但是网上搜了一下,都没有得到较好的答案,然后看了一篇文章说元组是不能直接转换成字符串的,傻傻的我还在寻找为什么使用dict()不能转换,既然直接转换行不通,那么间接方式可以很方便的做到的。
我的元组数据为:
[('盗汗', 11), ('红斑', 7), ('多梦', 7), ('嗳气', 5), ('肝硬化', 5), ('白血病', 4), ('消瘦', 4), ('压痛', 2)]
也就是列表的元素是元组,然后我的目的很简单,就是想让‘盗汗’这种汉字作为key,‘11’这种数字作为value生成一个字典,然后再作为新列表的元素。
word_list = [('盗汗', 11), ('红斑', 7), ('多梦', 7), ('嗳气', 5), ('肝硬化', 5), ('白血病', 4), ('消瘦', 4), ('压痛', 2)]
word_freq_list = []
for word_pair in word_list:
word_pair_dict = {}
word_pair_list = list(word_pair)
word_pair_dict[word_pair_list[0]] = word_pair_list[1]
word_freq_list.append(word_pair_dict)
print(word_freq_list)
结果是:
[{'盗汗': 11}, {'红斑': 7}, {'多梦': 7}, {'嗳气': 5}, {'肝硬化': 5}, {'白血病': 4}, {'消瘦': 4}, {'压痛': 2}]
哈哈是不是很简单,就是先将元组转化为列表,然后分别取列表的第一个元素作为字典的key,第二个元素作为字典的value。