将字典装入列表后,使用for遍历列表中的字典,使用dict.get()可以获取键值,但是使用dict['key']无法获取键值,这是因为啥?
题主代码怎么样的?for key in dict,key是键名称,用dict[key]获取,而不是dict['key'],去掉引号
dict={'a':1,'b':2}
for key in dict:
print(key,dict[key])
for key,value in dict.items():
print(key,value)
这样遍历列表中的字典:
a=[{1:'a'},{2:'b'}]
for dict in a:
for key in dict:
print(dict[key])
如果你用dict['编号’],这种形式,那么字典中对应也有引号才能用
a={'1':'c'}
print(a['1'])
可能是把dict数据类型与变量名混淆了,把要处理的字典赋值给一个变量,取字典健值时用:变量名[key],例如:
mydict = {"编号":3,"数据":5}
print(mydict['编号'])
#3
你是不是列表内有的字典中的'编号'键名写错了。
dic['编号'] 和dic.get('编号')的区别是:
用dic['编号'] 获取键值时,如果字典中没有找到'编号'键名会直接报错。
用dic.get('编号') 获取键值时, 如果字典中没有找到'编号'键名,不会直接报错,而是默认返回None。(也可以指定没有找到键名时的返回值,比如dic.get('编号',0)就是当没有找到键名时返回0 )
li=[
{"编号":'001'},
{"编 号":'002'}, #编号写错了
{"编号":'003'}
]
for dic in li:
print(dic.get('编号')) #列表中第二个字典中没有找到'编号'键名,会返回None
#如果改成 print(dic['编号'] ) 当没有找到'编号'键名会直接报错
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!