python基础——sorted函数和sort函数

sorted 函数

1、对可迭代对象进行排序,有返回值,返回的是一个排序后的列表,并且不会对原可迭代对象产生影响,适用于需要对原可迭代对象进行保留时使用
2、支持两个参数key和reverse,不加参数默认为升序排序
3、sorted函数排序是稳定的,即使出现相同大小的元素是不会改变元素原来的相对顺序的,有利于多重排序

a = [2,1,2,5]
b = sorted(a)  # 不加参数,默认是升序排列
print(b)  # 输出:[1,2,2,5]
a = (2,1,2,5)
b = sorted(a)
print(b)  # 输出列表:[1,2,2,5]
str1 = "bcad"
str2 = sorted(str1)
print(str2)  # 输出:['a','b','c','d']

多重排序

l = [["Tom", 18], ["Tom", 20], ["Susan", 20]]
# x 代表l中的每一个元素,先以第0个元素进行排序,再以第一个元素排序
# 默认都是升序排序
print(sorted(l, key=lambda x:(x[0], x[1]))) 
# 输出:[['Susan', 20], ['Tom', 18], ['Tom', 20]]

# 如果某个元素前有"-",表示该元素降序排列
# 在以某一个元素进行升序或降序排列的时候不能使用reverse
print(sorted(l, key=lambda x:(x[0], -x[1]))) 
# 输出:[['Susan', 20], ['Tom', 20], ['Tom', 18]]
sort 函数

1、sort函数只是列表的一个排序函数,其他的可迭代对象不能使用,没有返回值,并且sort函数是在原列表的基础上进行修改,如果原列表的数据不是很重要,建议使用sort函数,不会额外增加使用内存
2、支持两个参数key和reverse,不加参数默认为升序排序
3、sort函数排序是稳定的,即使出现相同大小的元素是不会改变元素原来的相对顺序的

sort函数使用操作与sorted函数类似,只是把sorted()改为list.sort()即可,在此不再赘述
发布了37 篇原创文章 · 获赞 2 · 访问量 948

猜你喜欢

转载自blog.csdn.net/zzrs_xssh/article/details/103751200