在下面的测试数据中,我试图将密钥'x'附加到列表ls中。我的问题是为什么我在循环第一行数据时没有得到KeyError。显然,第一行不包含键'x'。最初我以为我不得不使用Try/Except来避免在循环数据时出现错误,但似乎不需要Try/Except。为什么我不知道密钥错误?
任何人都可以帮助我理解为什么KeyError不会在这里生成?
data = [{u'xyz': []},
{u'xyz': [{u'x' : 2,
u'y' : 3,
u'z' : 4}]}]
ls = []
for item in data:
ddd = item['xyz']
print ddd
for d in ddd:
ls.append(d['x'])
ls
输出:
[]
[{u'y': 3, u'x': 2, u'z': 4}]
[2]