Python提供两种内置方法对数据进行排序,分别是容器自身的sort函数和内建的sorted函数。sort方法直接在容器内进行排序,而sorted函数则创建一个新的已排序容器。对于列表L=[5,2,3,1,4],sort示例为:L.sort()。sorted函数的完整形式是sorted(iterable, cmp=None, key=None, reverse=False),其中iterable是待排序的可迭代对象,cmp用于自定义比较规则,key用于指定排序的关键字,reverse决定排序顺序,默认为False。例如,对多维列表L=[('b',2),('a',1),('c',3),('d',4)],可以使用lambda表达式进行排序,如sorted(L, key=lambda x: x[1])或sorted(L, cmp=lambda x, y: cmp(x[1], y[1]), reverse=True)。
collections模块中的OrderedDict是一个有序字典,可以记录元素插入的顺序,常与排序函数配合使用。比如,对于无序字典d = {'banana':3, 'apple':4, 'pear':1, 'orange':2},可以使用sorted函数配合OrderedDict来创建有序字典,如collections.OrderedDict(sorted(d.items(), key=lambda t: t[0])),或根据其他关键字排序,如长度key=lambda t: len(t[0])。
温馨提示:答案为网友推荐,仅供参考