与sort()函数相对应的必须要提到sorted()函数啦~结合着两个函数跟大家叙述。
(1)使用范围不一样
只有当对象是列表时,才能调用sort()方法,而sorted()是全局函数,可作用于所有可迭代对象。
(2)返回结果不一样
因为sort()是列表的自带方法,所以当列表调用此方法时,会改变自身的值,且返回值为None。而sorted()不会改变原有对象的值,会返回一个新对象。
结合以上两点,来看具体例子:
# 列表可以调用sort()方法,并会改变自身的值,返回值为None a = [1, 5, 7, 3, 4] a.sort() print(a) # [1, 3, 4, 5, 7] b = a.sort() print(b) # None # 元组不支持sort()方法 c = (1, 5, 7, 3, 4) c.sort() print(c) # AttributeError: 'tuple' object has no attribute 'sort' # sorted()函数可以作用于元组,并不改变原有元组的值,且返回排完序后的新列表 c = (1, 5, 7, 3, 4) d = sorted(c) print(c) # (1, 5, 7, 3, 4) print(d) # [1, 3, 4, 5, 7]
所以当我们需要保留原有的列表时,那就应该使用sorted()函数,否则就用列表自身的sort()方法,因为sort()方法不需要复制原有的列表,会消耗较少内存。
想必以上内容,大家可以足够了解到这个函数了吧,另外也让大家掌握另一个函数的使用技巧了呢,好了,大家可以实际应用起来啦~