python排序之sort和sorted
在使用python的时候很多时候需要用到排序操作,自己挨个去排太麻烦,而且效率也比较低下。因此学会使用Python自带的排序函数就显得尤为必要了。
- python排序主要有两种方法sort和sorted
- sort: 只针对于列表元素
- sorted:针对于所有可迭代对象
排序小tips: 不止可以指定一个排序条件哦,可以指定多个排序条件用括号括起来就好
sort()函数详解
- 语法:list.sort( key=None, reverse=False)
- key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse – 排序规则,reverse = True 降序, reverse = False 升序(默认)。
- 返回值:没有返回值,但是会改变原先列表
- 小小demo:
lis = [2,1,3,9,5,7]
lis.sort()
print(lis)
lis.sort(reverse=True)
print(lis)
lis1 = [(2, 2), (3, 4), (4, 1), (1, 3)]
lis1.sort(key=lambda x:x[1])
print(lis1)
我的多个排序条件的
lis2 = [(2, 2), (3, 4), (3, 1), (1, 3)]
lis2.sort(key=lambda x:(x[0],x[1]))
print(lis2)
sorted()函数详解
-
语法:sorted(iterable, key=None, reverse=False)
- iterable – 可迭代对象。
- key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
-
返回值:返回重新排序的列表。 -
小小demo a = [5, 2, 3, 1, 4]
b = sorted(a)
print(a)
print(b)
b = [[3,2,1],[4,1,2],[3,1,3],[9,1,4]]
b = sorted(b, key=lambda x:x[0])
print(b)
b = sorted(b,key=lambda x:(x[0],x[1]))
print(b)
c = {1: 'D', 3: 'B', 2: 'B', 4: 'E', 5: 'A'}
d = sorted(c.items(),key=lambda x:x[1])
print(c)
print(d)
d = sorted(c.items(),key=lambda x:(x[1],x[0]))
print(d)
我也是多个排序条件的
c = {1: 'D', 3: 'B', 2: 'B', 4: 'E', 5: 'A'}
d = sorted(c.items(),key=lambda x:x[1])
print(c)
print(d)
d = sorted(c.items(),key=lambda x:(x[1],x[0]))
print(d)
|