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