python中sort()与sorted()的区别
本文主要介绍一下python中的sort()和sorted()的区别和一些常用方法1.主要区别sort 是应用在 list 上的方法,而sorted 可以对所有可迭代的对象进行排序操作;sort是对原有列表进行操作,而sorted返回的是一个新的可迭代对象,不会改变原来的对象;sort使用方法为list.sort(), 而sorted的使用方法为sorted(list)2.sort()的主要用法最
·
本文主要介绍一下python中的sort()和sorted()的区别和一些常用方法
1.主要区别
- sort 是应用在 list 上的方法,而sorted 可以对所有可迭代的对象进行排序操作;
- sort是对原有列表进行操作,而sorted返回的是一个新的可迭代对象,不会改变原来的对象;
- sort使用方法为list.sort(), 而sorted的使用方法为sorted(list)
2.sort()的主要用法
最简单的使用
a = [2, 1, 5, 4]
# reverse参数,对列表进行排序,True为从大到小排列, Fasle则为从小到大,默认为False
a.sort()
print(a)
# [1, 2, 4, 5]
a.sort(reverse=True)
print(a)
# [5, 4, 2, 1]
使用key值进行排序
a = [("a", 2), ("b", 1), ("c", 5), ("d", 4)]
a.sort()
print(a)
# [('a', 2), ('b', 1), ('c', 5), ('d', 4)]
# 对于上面的类型,我们使用普通的排序方法,返回的值和原来一样,排序并没有生效,所有这里我们介绍另一种方法,key
a = [("a", 2), ("c", 1), ("b", 5), ("d", 4)]
a.sort(key=lambda x: x[1])
print(a)
# [('c', 1), ('a', 2), ('d', 4), ('b', 5)]
综合使用
a = [("a", 2), ("c", 1), ("b", 5), ("d", 4)]
a.sort(key=lambda x: x[1])
print(a)
# [('c', 1), ('a', 2), ('d', 4), ('b', 5)]
a.sort(key=lambda x: x[1], reverse=True)
print(a)
# [('b', 5), ('d', 4), ('a', 2), ('c', 1)]
3.sorted()的主要用法
不会改变原列表的顺序
a = [2, 1, 5, 4]
b = sorted(a)
print(a)
# [2, 1, 5, 4]
print(b)
# [1, 2, 4, 5]
# 这里我们可以发现a的值没有变化,但是b的值变的有序了
最简单的使用
a = [2, 1, 5, 4]
# reverse参数,对列表进行排序,True为从大到小排列, Fasle则为从小到大,默认为False
b = sorted(a)
print(b)
# [1, 2, 4, 5]
b = sorted(a, reverse=True)
print(b)
# [5, 4, 2, 1]
使用key值进行排序
a = [("a", 2), ("c", 1), ("b", 5), ("d", 4)]
# 以第一个值进行排序
b = sorted(a, key=lambda x: x[0])
print(b)
# [('a', 2), ('b', 5), ('c', 1), ('d', 4)]
# 以第二个值进行排序
c = sorted(a, key=lambda x: x[1])
print(c)
# [('c', 1), ('a', 2), ('d', 4), ('b', 5)]
综合使用
a = [("a", 2), ("c", 1), ("b", 5), ("d", 4)]
b = sorted(a, key=lambda x: x[1])
print(b)
# [('c', 1), ('a', 2), ('d', 4), ('b', 5)]
c = sorted(a, key=lambda x: x[1], reverse=True)
print(c)
# [('b', 5), ('d', 4), ('a', 2), ('c', 1)]
更多推荐
已为社区贡献1条内容
所有评论(0)