列表怎样转化为字典的相关问题

img


这个代码把列表转化为了字典,看不太懂,有人可以解释一下每一步的意思吗

依次读取列表nums里的值,看看这个值在字典中有没有出现,如果没有,说明是第一次出现,就把这个值作为键,出现次数是1,放进字典。
如果后面列表中再遇到同一个值,字典里已经有这个键,所以就把出现次数加1。
如此遍历完nums,就能把所有元素在nums中的出现次数统计出来,以字典的格式保存。

遍历列表中的每一个元素num,作为键key写入字典dict , 对应的键值value就是该元素在列表里出现的次数。

还有另外一种写法,更简洁:

dict1 = {}
for num in nums:
dict1[num] = dict1.get(num, 0) + 1
print(dict1)

dict1.get(num, 0) 表示去dict1中找键num对应的值,没找到用默认值0

字典的数据结构 {key:value, key:value....}, 一个key对应一个值, key就是书上说的键 , 列表转字典 就是把列表里的元素作为key,元素出现的次数(频次)做为值