Python笔记_第四篇_高阶编程_高阶函数_3.sorted

1. sorted函数

  常用的排序分:冒泡排序、选择排序、快速排序、插入排序、计数器排序

  实例1:普通排序

# 普通排序
list1 = [4,7,2,6,3]
list2 = sorted(list1) # 升序排序
print(list1)
print(list2)
# [4, 7, 2, 6, 3]
# [2, 3, 4, 6, 7]

  

  实例2:按绝对值大小排序

# 按绝对值大小排序
list3 = [4,-7,2,6,-3]
# key接受函数来实现自定义排序规则,取绝对值排序后,在添加绝对值
# list4 = sorted(list3,key=abs)
# [4, -7, 2, 6, -3]
# [2, -3, 4, 6, -7]
# 也可以用map方式,但是绝对值符合去掉了,是取绝对值后再排序
list4 = sorted(map(abs,list3))
# [4, -7, 2, 6, -3]
# [2, 3, 4, 6, 7]
print(list3)
print(list4)

  实例3:

# 按照降序排列
list5 = [4,7,2,6,3]
list6 = sorted(list5,reverse=True) # 升序排序
print(list5)
print(list6)
# [4, 7, 2, 6, 3]
# [7, 6, 4, 3, 2]

  实例4:按照字符串的长短排序

# 按照字符串的长短来排序
list7 = ['b333','a1111111','c22','d5554']
list8 = sorted(list7,key=len) #默认长度排列
print(list7)
print(list8)
# ['b333', 'a1111111', 'c22', 'd5554']
# ['c22', 'b333', 'd5554', 'a1111111']

  实例5:自定义函数的形式,按照字符串的长短来排序

# 按照字符串的长短来排序,可以自定义函数的形式
def myLen(str):
    return len(str)
list9 = ['b333','a1111111','c22','d5554']
list10 = sorted(list9,key=myLen) #默认长度排列
print(list9)
print(list10)
# ['b333', 'a1111111', 'c22', 'd5554']
# ['c22', 'b333', 'd5554', 'a1111111']

猜你喜欢

转载自www.cnblogs.com/noah0532/p/10897649.html