您的位置:首页 > 编程语言 > Python开发

python容器排序sort()和内建函数sorted()的区别

2013-09-15 16:57 931 查看
简单解释一下两函数:

sort(cmp=None, key=None, reverse=False)sorted(iterable, cmp=None, key=None, reverse=False)

sort是容器的函数,sorted是Python的内建函数

相同的参数:

cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项。cmp(e1, e2) 是带两个参数的比较函数, 返回值: 负数: e1 < e2, 0: e1 == e2, 正数: e1 > e2。 默认为 None, 即用内建的比较函数。

key:用列表元素的某个已命名的属性或函数(只有一个参数并且返回一个用于排序的值)作为关键字,有默认值,迭代集合中的一项。

reverse:排序规则,reverse = True 或者 reverse = False,有默认值。

sorted多一个参数iterable:待排序的可迭代类型的容器

>>> a=[1,3,5,2,9,4,7,8,6,0]

>>> a.sort()

>>> a

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> a=[1,3,5,2,9,4,7,8,6,0]

>>> sorted(a)

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> a

[1, 3, 5, 2, 9, 4, 7, 8, 6, 0]

对于一个无序的列表a,调用a.sort(),对a进行排序后返回a。

而对于同样一个无序的列表a,调用sorted(a),对a进行排序后返回一个新的列表,而对a不产生影响。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: