python中的sort()方法和内置函数sorted()的区别

一,sort()方法
python中 sort()是列表的内建函数,一般不写参数(取默认值),无返回值,sort()会改变列表,原地排序,因此无需返回值。字典、元组、字符串不具有sort()方法,如果调用将会返回一个异常。

>>> help(list.sort)
Help on method_descriptor:
sort(...)
    L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
    cmp(x, y) -> -1, 0, 1

例如:

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

二,sorted()函数
sorted()是python的内置函数,该函数不改变原对象,调用时一般只需给出一个参数(参数可以是列表、字典、元组、字符串),其余参数取默认值,无论传递什么参数,都将返回一个以列表为容器的返回值,如果是字典将返回键的列表。

>>> b=[1,2,3,9,8,7]
>>> c=sorted(b)
>>> c
[1, 2, 3, 7, 8, 9]
>>> 
>>> b.sorted()

Traceback (most recent call last):
  File "<pyshell#196>", line 1, in <module>
    b.sorted()
AttributeError: 'list' object has no attribute 'sorted'
>>> 

报错:列表里面没有sorted()属性

猜你喜欢

转载自blog.csdn.net/ZHUQIUSHI123/article/details/82939914