sort()函数

Python中,列表有一个sort()函数,该函数可以对列表进行排序。  列表.sort(key=函数,reverse=False)

  • key:该参数可选,接收一个函数fn(a),用于指定排序规则。函数fn(a)有一个参数(会自动将列表的元素作为参数传入),并且返回一个值;sort()就根据fn(a)返回的值 对列表进行排序。
  • reverse:默认参数。reverse = True 降序, reverse = False 升序(默认)。

示例1:

li1 = [3, 4, 5, 2, -6]
li1.sort()
print(li1)  # [-6, 2, 3, 4, 5]

示例2:

li1 = [3, 4, 5, 2, -6]

# abs()函数可以接收1个数字,返回该数字的绝对值
# key=abs,那么abs就可以接收列表的元素,返回元素的绝对值,然后sort()函数就根据返回的绝对值进行排序
li1.sort(key=abs)       

print(li1)  # [2, 3, 4, 5, -6]

示例3:

li1 = [{'name': '张三', 'age': 22}, {'name': '李四', 'age': 19}, {'name': '王五', 'age': 21}]
li1.sort(key=lambda a: a['age'])
print(li1)    #[{'name': '李四', 'age': 19}, {'name': '王五', 'age': 21}, {'name': '张三', 'age': 22}]
  • 匿名函数 lambda a: a['age'] 接收1个参数,在sort()函数中作为key,就会接收列表 li1 的元素;
  • {'name': '李四', 'age': 19} ,匿名函数返回 a['age'],那么就会返回 19;
  • key的函数会作用于列表中的每一个元素上,最终sort函数排序后,li1就被按照age进行了排序。
posted on 2023-04-04 15:40  木去  阅读(739)  评论(0)    收藏  举报