Python中的sorted()函数介绍及用法。
Python是一个功能强大的编程语言,其中有许多内置的函数和工具可以帮助程序员快速、高效地编写代码。其中一个非常有用的函数是sorted()函数。sorted()函数可以将可迭代对象(如列表、元组、集合等)中的数据进行排序,并返回一个新的排序后的列表。
函数语法
sorted(iterable, key=None, reverse=False)
参数说明:
- iterable:要排序的可迭代对象。
- key:是用来进行比较的元素,可以是一个函数,表示按照该函数返回值进行排序。
- reverse:为True表示降序排列,为False表示升序排列。默认为False。
示例1:升序排序
假设我们有一个列表,其中包含一些数字,我们想对它们进行升序排序:
numbers = [21, 232, -40, 59, 82, 10] sorted_numbers = sorted(numbers) print(sorted_numbers)
运行结果为:
[-40, 10, 21, 59, 82, 232]
排序后的列表中,最小的数是-40,最大的数是232。
示例2:降序排序
我们可以使用sorted()函数的reverse参数来实现降序排序。例如:
numbers = [21, 232, -40, 59, 82, 10] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers)
运行结果为:
[232, 82, 59, 21, 10, -40]
排序后的列表中,最大的数是232,最小的数是-40。
示例3:按照绝对值排序
我们可以使用sorted()函数的key参数来按照元素的绝对值进行排序。例如:
numbers = [21, 232, -40, 59, 82, 10] sorted_numbers = sorted(numbers, key=abs) print(sorted_numbers)
运行结果为:
[10, 21, -40, 59, 82, 232]
在这个排序中,我们用到了abs()函数来获取元素的绝对值,然后将结果传递给了sorted()函数的key参数。
示例4:按照长度排序
我们也可以使用sorted()函数来对字符串进行排序。例如,我们可以按照字符串长度排序,如下所示:
words = ["apple", "banana", "pear", "orange"] sorted_words = sorted(words, key=len) print(sorted_words)
运行结果为:
['pear', 'apple', 'banana', 'orange']
注意,我们将len()函数作为key参数传递给了sorted()函数。这告诉sorted()函数按照字符串的长度进行排序。
示例5:按照多个键进行排序
我们还可以使用sorted()函数对多个键进行排序。例如,我们可以按照文本文件中的行数和字母顺序对文件进行排序,如下所示:
with open("file.txt") as f:
lines = f.readlines()
sorted_lines = sorted(lines, key=lambda x: (len(x), x))
print(sorted_lines)
在这个例子中,我们打开了一个文本文件,并将其内容读入到一个列表中。然后,我们使用lambda函数将行数和文本行本身作为元组传递给了sorted()函数的key参数。这告诉sorted()函数先按照行数排序,然后按照字母顺序排序。
总结
- sorted()函数是Python中用于对可迭代对象进行排序的函数。
- sorted()函数的默认排序方式是升序排序,可以使用reverse参数实现降序排序。
- sorted()函数的key参数可以用来设置排序键,比如按照元素的绝对值、字符串长度等排序。
- sorted()函数也可以用来对多个键进行排序。
