代码如下:
list1 = ['000012','000017','000023', '000012']
list2 = ['-1','-1','-1', '2']
print(dict(zip(list1,list2)))
运行结果:
{'000012': '2', '000017': '-1', '000023': '-1'}
我想根据列表来创建字典一个一键映射多值的字典,就是想输出如下的样子:
{'000012': ['-1', '2'], '000017': '-1', '000023': '-1'}
就是需要将000012同时对应-1和2这两个值,应该怎么修改代码呀?谢谢。
list1 = ['000012','000017','000023', '000012']
list2 = ['-1','-1','-1', '2']
dic = {}
for k,v in zip(list1,list2):
if k in dic:
if type(dic[k]) != list:
dic[k] = [dic[k]]
dic[k].append(v)
else:
dic[k] = v
print(dic)
结果
{'000012': ['-1', '2'], '000017': '-1', '000023': '-1'}
list1 = ['000012','000017','000023', '000012']
list2 = ['-1','-1','-1', '2']
zd = {}
for index, item in enumerate(list2):
print(list1[index])
print(zd.get(list1[index]))
sz = []
if zd.get(list1[index]) == None:
sz.append(item)
else:
sz = zd.get(list1[index]);
sz.append(item)
zd[list1[index]] = sz
print(zd)
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y