我的博文《python中使用.sort()方法对列表元素进行永久排序》
介绍了如何使用list.sort()方法对列表元素进行排序,值得注意的是,这种方法是list对象自带的方法,在使用后会改变list里面的内容,也就是所谓的永久性排序,如果不想改变原来的值,我们就需要使用所谓的临时性排序的方法,在python中提供了sorted()函数来完成这个任务,同样的,我们可以使用reverse参数来指定是否逆序排列。我们可以使用以下程序来进行演示:
car_list = ['honda','toyota','suzuki','mazda','subaru']
print(car_list)
print(sorted(car_list))
print(car_list)
print(sorted(car_list,reverse=True))
print(car_list)
运行后输出的结果如下:
['honda', 'toyota', 'suzuki', 'mazda', 'subaru']
['honda', 'mazda', 'subaru', 'suzuki', 'toyota']
['honda', 'toyota', 'suzuki', 'mazda', 'subaru']
['toyota', 'suzuki', 'subaru', 'mazda', 'honda']
['honda', 'toyota', 'suzuki', 'mazda', 'subaru']
[Finished in 1.6s]
如果列表中的元素是字典,我们还可以指定排列对象需要依据的关键参数key:
我们来看下面的例子
xiaoming={
'name':'xiaoming',
'age':20,
'gender':'male',
}
xiaohong={
'name':'xiaoming',
'age':18,
'gender':'female',
}
xiaoli={
'name':'xiaoming',
'age':19,
'gender':'male',
}
dic_list = [xiaoming,xiaoli,xiaohong]
print(sorted(dic_list,key = lambda x: x['age'],reverse=True))
输出的结果如下:
[{'name': 'xiaoming', 'age': 20, 'gender': 'male'}, {'name': 'xiaoming', 'age': 19, 'gender': 'male'}, {'name': 'xiaoming', 'age': 18, 'gender': 'female'}]
[Finished in 0.8s]