在Python中,如何从字典中轻松检索已排序的项目?

Ray*_*ega 12 python sorting dictionary list

与列表不同的字典不是有序的(并且没有'sort'属性).因此,首次添加时,您不能依赖于以相同顺序获取项目.

循环包含字符串作为键值的字典并按键按升序检索它们的最简单方法是什么?

例如,你有这个:

d = {'b' : 'this is b', 'a': 'this is a' , 'c' : 'this is c'}
Run Code Online (Sandbox Code Playgroud)

我想按以下顺序打印关键值:按键排序:

this is a
this is b
this is c
Run Code Online (Sandbox Code Playgroud)

dF.*_*dF. 17

你的意思是你需要按键值排序的值吗?在这种情况下,这应该这样做:

for key in sorted(d):
    print d[key]
Run Code Online (Sandbox Code Playgroud)

编辑:改为使用排序(d)而不是排序(d.keys()),谢谢Eli!


Gre*_*ill 16

或更短,

for key, value in sorted(d.items()):
    print value
Run Code Online (Sandbox Code Playgroud)


Cod*_*ous 2

这个片段就可以做到。如果您要经常这样做,您可能需要创建一个“sortkeys”方法以使其更方便查看。

keys = list(d.keys())
keys.sort()
for key in keys:
    print d[key]
Run Code Online (Sandbox Code Playgroud)

编辑:dF 的解决方案更好——我忘记了所有关于sorted().