在很多时候我们创建的列表是无法预测或者确定元素的排列顺序的,元素之间混乱的排列是无法避免的,但我们却又经常需要以特定的顺序呈现信息。对此,Python提供了很多组织列表的表达方式。
sort() 方法对列表进行永久性的排序,排序后列表再也无法回到原来的排列顺序。
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort()
print("排序后:", fruits)
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort(reverse=True)
print("排序后:", fruits)
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("排序前:", fruits)
fruits.sort(reverse=False)
print("排序后:", fruits)
numbers = [23, 89, 42, 56, 12]
print("排序前:", numbers)
numbers.sort()
print("排序后:", numbers)
有时候我们以特定顺序对列表排序后,要保留列表元素原来的排列顺序,这时就要用到 sorted() 方法。
函数 sorted() 按照特定顺序显示列表元素后,同时不影响他们在列表中的原始排列顺序。
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("原列表:", fruits)
print("临时排序:", sorted(fruits))
print("再次输出列表:", fruits)
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("原列表:", fruits)
print("临时逆向排序:", sorted(fruits, reverse=True))
print("再次输出列表:", fruits)
临时排序和永久排序只是在函数的使用上不同,永久排序用的是 sort() ,而临时排序用的是 sorted() 。在使用方法上两者均相同。
reverse() 方法是将列表的元素进行一个整体的反转,即倒着将元素打印出来。reverse() 同样是永久地修改列表元素的排列顺序,但也可以随时将排列顺序进行恢复,只需要再次进行调用即可。
fruits = ['banana', 'pear', 'apple', 'watermelon', 'orange']
print("反转前:", fruits)
fruits.reverse()
print("反转后:", fruits)
fruits.reverse()
print("再次调用:", fruits)