不知道大家在做项目时候,有没有遇到这个函数,记得小编第一次看到这个函数,一直纳闷这个函数的使用方法,而后查询了下,今日,小编再一次遇到这个函数,于是,就做了一番整理,内容请看下文。
与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()方法不需要复制原有的列表,会消耗较少内存。
想必以上内容,大家可以足够了解到这个函数了吧,另外也让大家掌握另一个函数的使用技巧了呢,好了,大家可以实际应用起来啦~