我在下面有一个字典:
colors = { "blue" : "5", "red" : "6", "yellow" : "8", }
如何索引字典中的第一个条目?
colors[0]``KeyError由于明显的原因将返回。
colors[0]``KeyError
在Python版本(包括Python 3.6)及更高版本中,字典是无序的。如果您不关心条目的顺序,并且仍然想通过索引访问键或值,则可以使用d.keys()[i]和d.values()[i]或d.items()[i]。(请注意,这些方法会创建Python 2.x中所有键,值或项的列表。因此,如果需要一次以上,请将列表存储在变量中以提高性能。)
d.keys()[i]
d.values()[i]
d.items()[i]
如果您确实关心条目的顺序,那么可以从Python 2.7开始使用collections.OrderedDict。或使用成对清单
collections.OrderedDict
l = [("blue", "5"), ("red", "6"), ("yellow", "8")]
如果您不需要通过密钥访问。(为什么您的数字是字符串?)
在Python 3.7中,常规字典是有序的,因此您不再需要使用它OrderedDict(但您仍然可以使用-它基本上是相同的类型)。Python 3.6的CPython实现已经包含了这一更改,但是由于它不是语言规范的一部分,因此您不能在Python 3.6中依赖它。
OrderedDict