python中list.sort()和sorted()

list.sort()   是class list下面的一个函数,是列表独有的,list.sort排序是在原有列表上进行的,list本身的顺序会变,list.sort不会生成返回一个新的list,只是返回None

a = [6, 2, 1, 4]
a.sort()
print(a.sort())
print(a)

sorted() 是python中的内置函数,不改变原有对象的值,新生成一个列表对象,并返回;不仅仅只能将list作为参数传递进去,还可以接收任何形式的可迭代对象作为参数,甚至是不可变序列或者生成器,不管是接收的什么参数sorted()都是返回一个列表

(1)列表

a = [6, 2, 1, 4]
sorted(a)
print(sorted(a))
print(a)




(2)元祖
a = (6, 2, 1, 4)
sorted(a)
print(sorted(a))
print(a)




带参数 reverse参数,reverse=False为升序排序(默认);reverse=True为降序排序
 
>>> a=[1,2,5,3,9,4,6,8,7,0,12]
>>> a.sort(reverse=False)
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]

>>> a=[1,2,5,3,9,4,6,8,7,0,12]
>>> a.sort(reverse=True)
>>> a
[12, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>>a=[1,2,5,3,9,4,6,8,7,0,12]
>>>b = sorted(a, reverse=False)
>>>b
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]


list 的 sort 方法返回的是对已经存在的列表进行操作,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作
原文地址:https://www.cnblogs.com/xiaofeng91/p/12051767.html