sorted() 用于对一个可迭代的对象进行排序,一般都是用来对字典进行排序,结果返回排序后的新的列表,语法如下:
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
iterable:要进行排序的可迭代对象
cmp=None:
key=None:None可以是带一个参数的函数,这个函数返回一个值用来排序,默认为None
reverse=False:排序规则,默认reverse=False是升序排序,如果reverse=True则表示降序排序
常见用法如下:
In [1]: import operator In [2]: x = {1:2, 3:4, 4:3, 2:1, 0:0} In [3]: sorted(x.iteritems(), key=operator.itemgetter(0)) # 根据字典的key进行排序 Out[3]: [(0, 0), (1, 2), (2, 1), (3, 4), (4, 3)] In [4]: sorted(x.iteritems(), key=operator.itemgetter(1)) # 根据字典的value进行排序 Out[4]: [(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] In [5]: sorted(x.iteritems(), key=operator.itemgetter(0), reverse=True) # 根据字典的key进行反序排序 Out[5]: [(4, 3), (3, 4), (2, 1), (1, 2), (0, 0)] In [6]: sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True) # 根据字典的value进行反序排序 Out[6]: [(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)]