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进行了排序。
浙公网安备 33010602011771号