首页 > 代码库 > Python中sort()和sorted()的区别

Python中sort()和sorted()的区别

1、sort()是可变对象(字典)的方法,无参数无返回值,  sort()会改变可变对象,因此无需返回值。例如:

list:

1 >>> a = [4,3,7,8]
2 >>> a.sort()
3 >>> a
4 [3, 4, 7, 8]

即sort()直接将可变对象的值给改变了。

 

2、sorted()是python的内置函数,并不是可变对象(列表、字典)的特有方法,sorted()函数需要一个参数(参数可以是列表、字典、元组、字符串),无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。

list:

1 >>> a = [4,3,7,8]
2 >>> sorted(a)
3 [3, 4, 7, 8]
4 >>> a
5 [4, 3, 7, 8]

即sorted会返会一个list副本,同时将原来list的值改变了可将这个返回的值赋给其他变量。

 

dict:

1 >>> b = {1:ab,2:degg,4:ght,9:d}
2 >>> sorted(b)
3 [1, 2, 4, 9]
4 >>> b
5 {1: ab, 2: degg, 4: ght, 9: d}

即sorted(dict)时,是按key排序,同时将key返回成一个列表。

 

Python中sort()和sorted()的区别