如果仍然有人在看这个问题,那么当前接受的答案已经过时了:
由于Python 3.7 *字典是顺序保留的,因此它们现在的行为与collections.OrderedDicts 完全相同。不幸的是,仍然没有专用的方法可以索引到字典的keys()/ values()中,因此可以通过以下方法获取字典中的第一个键/值:
first_key = list(colors)[0]
first_val = list(colors.values())[0]
或者(避免将键视图实例化为列表):
def get_first_key(dictionary):
for key in dictionary:
return key
raise IndexError
first_key = get_first_key(colors)
first_val = colors[first_key]
如果您需要n-th键,则类似
def get_nth_key(dictionary, n=0):
if n < 0:
n += len(dictionary)
for i, key in enumerate(dictionary.keys()):
if i == n:
return key
raise IndexError("dictionary index out of range")
(* CPython 3.6已经包含有序字典,但这只是实现细节。语言规范包括3.7以后的有序字典。)