在Python中打印字典值

时间:2016-06-08 18:28:41

标签: python-2.7 dictionary

我有这样的字典:

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

有人可以解释为什么会这样吗?

1 个答案:

答案 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的值。