python排序函数 python从大到小排序

python数据同时排序Python列表具有内置python排序函数的 list.sort()方法python排序函数,可以在原地修改列表 。还有一个 sorted()内置python排序函数的函数从迭代构建一个新的排序列表 。在本文中 , python排序函数我们将探讨使用Python排序数据的各种技术 。
请注意,sort()原始数据被破坏,sorted()没有对原始数据进行操作,而是新建了一个新数据 。
一、基本的排序
最基本的排序很简单 。只要使用sorted()函数即可返回一个 新的排序的列表
sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]
咱们也可以使用 list.sort()方法 。该方法是对列表list进行的原地操作(原数据被修改,已经不是原来的本来面目) 。一般情况下,不如使用 sorted()方便,但是如果python排序函数你不需要原列表list,使用 sort()会更具效率 。
a = [5, 2, 3, 1, 4]
a.sort()
a #a发生改变
[1, 2, 3, 4, 5]
另一个不同点,list.sort()方法只能应用于列表对象数据 。而 sorted()却可以对任何可迭代对象进行排序 。也就是说sorted()更具有普遍使用性 。这里大灯建议初学者使用sorted() 。
二、Key参数函数
list.sort()和 sorted()都有key参数 , 可以指定函数来对元素进行排序 。
例如 , 这里我们使用一个字符串(字符串也是可迭代对象)
sorted("This is a test string from Andrew".split(), key=str.lower)
怎样用python将数组里的数从高到低排序1、首先我们定义一个列表输入一串大小不一的数字 。
2、可以用sort()方法对定义的列表排序 , 注意,sort只是对列表排序,它没有返回一个值 。
3、输入print列表名即可得到排序后的列表数据 。
4、倒序可以用这个reverse方法,把元素位置倒转过来 。
5、然后再次print列表名,这样就会得到倒转顺序之后的列表数据 。
5、如图两相对比即实现了从高到低和从低到高排序 。
python中对组合数据类型x进行排序的内置函数是python有两个内置的函数用于实现排序,一个是list.sort()函数,一个是sorted()函数 。
区别1:list.sort()函数只能处理list类型数据的排序;sorted()则可以处理多种类型数据的排序 。
区别2:list.sort()会修改原来的list为排序后的结果;sorted()不会修改原来的数据,只是返回一个排序后的对象 。
下面来动手写点代码进行测试:
list进行简单的排序
1 a=['a','f','c','x','e']2 a.sort()3 a4 [a','c','e','f','x']
sorted()进行简单排序
1 a=['a','f','c','x','e']2 a_new=sorted(a)3 a_new4 ['a', 'c', 'e', 'f', 'x']
list.sort()和sorted都有默认的参数reverse , 该参数的默认值为“False”,即默认升序排列 。如果要进行降序排列:
1 a=['a','f','c','x','e']2 a_new=sorted(a,reverse=True)3 a_new4 ['x', 'f', 'e', 'c', 'a']
对元组进行排列,不能使用list.sort()函数:
1 a=('a','f','c','x','e')2 a_new=a.sort()3
4 ttributeError: 'tuple' object has no attribute 'sort'
对字典的排序可以按照字典的key或者value进行排序:
1 dic={"aa":11,"ff":5,"ee":22}2 printsorted(dic.keys())3 ['aa', 'ee', 'ff']
从python2.4开始list.sort()和sorted()都引入了key参数来指定一个函数进行排序,有了key参数以后我们就可以对更加复杂的数据进行排序。
假如需要排序的数据为一个list,但list的每一个元素都是一个字典,排序的方法如下:
dic=[{"name":"sunny","age":20},
{"name":"bell","age":5},
{"name":"jim","age":1},
{"name":"jan","age":10}]print sorted(dic,key=lambda arg:arg.get('age'),reverse=False) #按照每个字典的age的值进行排序,字典的方法dict.get(key)将返回指定键的值 。
#输出结果为:[{'age': 1, 'name': 'jim'}, {'age': 5, 'name': 'bell'}, {'age': 10, 'name': 'jan'}, {'age': 20, 'name': 'sunny'}]

推荐阅读