高阶函数-sort()与sorted() (三分钟读懂)
发布日期:2021-05-07 09:22:47 浏览次数:21 分类:精选文章

本文共 893 字,大约阅读时间需要 2 分钟。

Python 排序方法说明

sort() 与 sorted() 的区别

sort() 方法用于对列表进行排序,排序会影响原列表,返回 None。

sorted() 方法用于对序列进行排序,返回一个新列表,不影响原数据。

sort() 方法详解

sort() 方法默认按升序排序,比较元素大小时直接对比。

可以传递 key 参数,key 函数接收列表元素,返回用于比较的值。

例如:

a = ['b','aa','ccc','dddd','ffff']a.sort()  # 返回 ['aa', 'b', 'ccc', 'dddd', 'ffff']
b = ['b','aa','ccc','dddd','affff']b.sort()  # 返回 ['aa', 'affff', 'b', 'ccc', 'dddd']
c = [2,5,'1',3,'6','4']c.sort(key=int)  # 返回 ['1', 2, 3, '4', 5, '6']

sorted() 的应用场景

sorted() 与 sort() 用法相似,但返回新列表。

适用于字符串、元组、列表等多种数据类型。

例如:

e = "789123123"print(sorted(e, key=int))  # 返回 ['1', '1', '2', '2', '3', '3', '7', '8', '9']
f = (1,'4',3,2,'8')print(sorted(f, key=int))  # 返回 [1, 2, 3, '4', '8']
d = [2,5,'1',3,'6','4']print('排序前:', d)       # 排序前: [2, 5, '1', 3, '6', '4']print(sorted(d, key=int))  # 返回 ['1', 2, 3, '4', 5, '6']print('排序后:', d)       # 排序后: [2, 5, '1', 3, '6', '4']

支持的数据类型

  • 字符串
  • 元组
  • 列表

排序时按 key 函数转换后的值进行比较。

上一篇:python闭包(一分钟读懂)
下一篇:高阶函数-语法糖-lambda(三分钟读懂)

发表评论

最新留言

关注你微信了!
[***.104.42.241]2025年05月04日 08时01分52秒