python中的sort(),sorted()的用法
组织列表:
在你创建的列表中,元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是
不可避免的,但你经常需求以特定的顺序呈现信息。有时候,你希望保留列表最初的排列顺序,而有时候又需要调整排列顺序。
Python提供了很多组织列表的方式,可根据具体情况选用。
sort()
Python方法sort()让你能够较为轻松地对列表进行排序。
cars = ['bmw','audi','toyota','subaru'] cars.sort() print cars
方法sort(),永久性地修改了列表元素的排序顺序。现在,我们可以看到再也无法恢复到原来的顺序了
['audi', 'bmw', 'subaru', 'toyota']
你还可以按与字母相反的顺序排列列表元素,为此,只需向sort()方法传递reverse=True。下面的示列我们可以看到
cars = ['bmw','audi','toyota','subaru'] cars.sort(reverse=True) print cars
同样,对列表元素排列顺序的修改是永久性的:
['toyota', 'subaru', 'bmw', 'audi']
sorted()
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。函数sorted()让你能够按特定的顺序显示列表元素,同时不影响它们在列表中
原始排列顺序。
下面尝试对汽车列表调用这个函数。
cars = ['bmw','audi','toyota','subaru'] #1. print("Here is the original list:") print(cars) #2. print("\nHere is the sorted list:") print(sorted(cars)) #3. print("\nHere is the original list again:") print(cars)
我们首先按原始顺序打印列表,在按照顺序显示该列表。以特定顺序显示列表,我们在进行核实,确认列表元素的排列顺序与以前相同
Here is the original list: ['bmw', 'audi', 'toyota', 'subaru'] Here is the sorted list: ['audi', 'bmw', 'subaru', 'toyota'] Here is the original list again: ['bmw', 'audi', 'toyota', 'subaru']
注意:调用函数sorted()后,列表元素的排列顺序并没有变。如果你要按与字母顺序相反的顺序显示列表,也可向函数sorted()传递参数reverse=True。