列表转字典 中一些疑惑
本帖最后由 jcpython2 于 2023-1-15 16:18 编辑原始数据
[,,,]
转换为
{1:,2:}
我的思路 第一次创建字典key加入value下次循环判断如果已经有value就append
dt = [,,,]
dtrc = {}
for i in dt:
#dtrc] = dtrc.get('i',])
dtrc] = dtrc.get('i')
if dtrc] == None: #判断这个key是否存在value 没就append
dtrc]= []
dtrc].append(i)
print(dtrc)
{1: , 2: } 这是错误的输出结果 本帖最后由 tommyyu 于 2023-1-15 16:24 编辑
l = [,,,]
d = {}
for i in l:
d] = d.get(i, []) + ] # d.get(i, []) get函数见下,表示访问 i,如果不存在则返回 []
# + i 将 i 加入该列表
print(d)
dict.get(key, default) 函数 --- 访问 key 键所对应的值,如果不存在则返回 default
>>> a = {1:1, 2:2, 3:3}
>>> a.get(1, '木有')
1
>>> a.get(4, '木有')
'木有'
tommyyu 发表于 2023-1-15 16:19
我已经不够聪明了,我还以为我想得多一点可以弥补 tommyyu 发表于 2023-1-15 16:19
dict.get(key, default) 函数 --- 访问 key 键所对应的值,如果不存在则返回 default
我的想法是我不加值,让他值为None,我再加个if判断 本帖最后由 tommyyu 于 2023-1-15 16:27 编辑
jcpython2 发表于 2023-1-15 16:23
我的想法是我不加值,让他值为None,我再加个if判断
可是你只在没有的时候(if dtrc] == None)进行了加入,在其他情况没有添加,而且在第十行对数据进行了覆盖,这导致只有最后一次的数据被写了进去
页:
[1]