如果要对列表进行排序,但仍具有原始的排序方式,则可以使用该sorted()
功能。如果不想保持列表的原始顺序,则可以sort()
在列表上调用该函数。
列表sort()
函数和sorted()
函数之间的主要区别在于sort()
函数会修改被调用的列表。
而sorted()
函数将创建一个新列表,其中包含给定列表的排序版本。sorted()
函数将不会修改作为参数传递的列表。
第二个重要区别是sorted()
函数将返回一个列表,因此您必须将返回的数据分配给新变量。
而sort()
函数就地修改列表,并且没有返回值。
下面的示例显示sort()
和sorted()
之间的差别。
vegetables = ['squash', 'pea', 'carrot', 'potato']
new_list = sorted(vegetables)
# output: new_list = ['carrot', 'pea', 'potato', 'squash']
print(new_list)
# output: vegetables = ['squash', 'pea', 'carrot', 'potato']
print(vegetables)
# 传递给后sorted(),vegetables列表保持不变。
vegetables = ['squash', 'pea', 'carrot', 'potato']
vegetables.sort()
#output: vegetables = ['carrot', 'pea', 'potato', 'squash']
print(vegetables)
# 一旦sort()调用该函数,列表就会更新。