关于字典报错KeyError的问题
1、空字典直接加一个项,数,列表都没问题:
a = {}
b = {}
a[1] = 123
b[2] = [1,2,3]
print(a)
print(b)
结果:
{1: 123}
{2: [1, 2, 3]}
2、如果想建一个列表项,直接用append,是要报 KeyError 的:
a = {}
a['list'].append(123)
print(a)
结果:
a[‘list’].append(123)
KeyError: ‘list’
这其实跟key名没关系,key不管是string还是一个数都不行
试了好久,发现需要先把这个key对应的值设为空列表,想这样:
a = {}
a['list'] = []
a['list'].append(123)
print(a)
结果就对了:
{‘list’: [123]}
我是在做循环时遇到这个问题的,类似这样:
a = {}
for i in range(5):
a[i].append(123*i)
print(a)
应该改成这样:
a = {}
for i in range(5):
a[i]=[]
a[i].append(123*i)
print(a)
如果对您有帮助,请点个赞鼓励一下 😃