Python入门教程第31篇 sorted()函数

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python入门教程第31篇 sorted()函数相关的知识,希望对你有一定的参考价值。

本篇将会介绍如何使用 sorted() 函数对列表进行排序并返回一个新的列表。

sorted() 函数简介

上一篇介绍的列表 sort() 方法用于对列表执行原地排序,也就是说,它会改变原始列表中元素的顺序。

如果想要基于原始列表排序并返回一个新的列表,可以使用 sorted() 函数:

sorted(list)

注意,sorted() 函数不会修改原始列表。

默认情况下,sorted() 函数使用小于运算符(<)按照从小到大的顺序对列表元素进行排序。如果想要按照相反的方向进行排序,可以将 reverse 参数指定为 True:

sorted(list,reverse=True)

sorted() 函数示例

接下来我们看两个示例。

示例一:字符串列表排序

以下示例使用 sorted() 函数对字符串列表按照字母顺序进行排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests)

print(guests)
print(sorted_guests)

输出结果如下:

['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
['James', 'Jennifer', 'John', 'Mary', 'Patricia', 'Robert']

从输出结果可以看出,原始列表并没有改变。sorted() 函数基于原始列表返回了一个新的有序列表。

以下示例使用 sorted() 函数对 guests 列表进行反向排序:

guests = ['James', 'Mary', 'John', 'Patricia', 'Robert', 'Jennifer']
sorted_guests = sorted(guests, reverse=True)

print(sorted_guests)

输出结果如下:

['Robert', 'Patricia', 'Mary', 'John', 'Jennifer', 'James']

示例二:数字列表排序

以下示例使用 sorted() 函数对数字列表从小到大进行排序:

scores = [5, 7, 4, 6, 9, 8]
sorted_scores = sorted(scores)

print(sorted_scores)

输出结果如下:

[4, 5, 6, 7, 8, 9]

以下示例使用 sorted() 函数对数字列表从大到小进行排序:

scores = [5, 7, 4, 6, 9, 8]
sorted_scores = sorted(scores, reverse=True)

print(sorted_scores)

输出结果如下:

[9, 8, 7, 6, 5, 4]

总结

  • sorted() 函数基于原始列表返回一个新的有序列表。
  • 将 sorted() 函数的 reverse 参数设置为 True 进行反向排序。

以上是关于Python入门教程第31篇 sorted()函数的主要内容,如果未能解决你的问题,请参考以下文章

Python入门教程第38篇 filter()函数

Python入门教程第61篇 函数进阶之偏函数

Python入门教程第62篇 函数进阶之类型提示

Python入门教程第25篇 递归函数

Python入门教程第22篇 函数

Python入门教程第27篇 函数之文档注释