我有这样的字典:
a={'*Initial*': {'H': 0.8, 'C': 0.2}, 'C': {'H': 0.4, 'C': 0.6}, 'H': {'H': 0.7, 'C': 0.3}}
当我尝试打印以下内容时:
print {k:v[0] for (k,v) in a.items()}
我收到错误:
File "...", line 3, in <module>
print {k:v[0] for (k,v) in a.items()}
File "...", line 3, in <dictcomp>
print {k:v[0] for (k,v) in a.items()}
KeyError: 0
有人可以解释为什么会这样吗?
答案 0 :(得分:1)
在你的词典中,&#34; v&#34;是&#34; k&#34;的价值,但&#34; v&#34;也是另一个字典,因此您无法通过执行v [0]对其进行索引,而是需要为其提供一个有效的密钥,如
print {k:v['H'] for (k,v) in a.items()}
将打印出0.8,0.4和0.7的值。