Python 中如何按键对字典进行排序 在Python中如何使用使用其名称(字符串)调用模块的函数 在Python中__init__.py文件的作用 Python 中如何按键对字典进行排序 标准Python字典是无序的。即使您对(键,值)对进行了排序,也无法以dict保持排序的方式将它们存储在一起。 最简单的方法是使用OrderedDict,它会记住元素的插入顺序: In [1]: import collections In [2]: d = {2:3, 1:89, 4:5, 3:0} In [3]: od = collections.OrderedDict(sorted(d.items())) In [4]: od Out[4]: OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)]) 别介意od打印出来的方式; 它将按预期工作: In [11]: od[1] Out[11]: 89 In [12]: od[3] Out[12]: 0 In [13]: for k, v in od.iteritems(): print k, v ....: 1 89 2 3 3 0 4 5 Python 3 对于Python 3用户,需要使用.items()而不是.iteritems(): In [13]: for k, v in od.items(): print(k, v) ....: 1 89 2 3 3 0 4 5 使用sort或者sorted方法 在Python 2.4及以上版本中: mydict = {'carl':40, 'alan':2, 'bob':1, 'danny':3} for key in sorted(mydict): print "%s: %s" % (key, mydict[key]) 得到: alan: 2 bob: 1 carl: 40 danny: 3 (Python低于2.4 :) keylist = mydict.keys() keylist.sort() for key in keylist: print "%s: %s" % (key, mydict[key]) 或者可以这样 >>> from collections import OrderedDict >>> # regular unsorted dictionary >>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2} >>> # dictionary sorted by key -- OrderedDict(sorted(d.items()) also works >>> OrderedDict(sorted(d.items(), key=lambda t: t[0])) OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)]) >>> # dictionary sorted by value >>> OrderedDict(sorted(d.items(), key=lambda t: t[1])) OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)]) >>> # dictionary sorted by length of the key string >>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0]))) OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)]) 或者 >>> d = {2:3, 1:89, 4:5, 3:0} >>> dict(sorted(d.items())) {1: 89, 2: 3, 3: 0, 4: 5} 在Python中如何使用使用其名称(字符串)调用模块的函数 在Python中__init__.py文件的作用