Python3 中sorted() 函数的用法

Python3 中sorted() 函数的用法

Python是一种非常强大和灵活的编程语言,它提供了许多有用的内置函数和方法。其中一个非常有用的函数是sorted()函数。sorted()函数可用于对序列进行排序。本文将详细介绍Python3中sorted()函数的用法。

1. sorted() 函数的基本用法

sorted()函数可以对列表、元组、集合、字典等可迭代对象进行排序。它的基本用法如下:

sorted(iterable, key=None, reverse=False)

参数说明:

iterable: 可迭代对象,表示要排序的序列。

key: 用于确定排序顺序的函数。默认为None,表示使用元素自身的值进行排序。

reverse: 排序顺序,True为降序,False为升序。默认为False。

下面是一些示例,演示了如何使用sorted()函数进行排序:

# 对列表进行升序排序

numbers = [5, 2, 9, 1, 3]

sorted_numbers = sorted(numbers)

print(sorted_numbers) # 输出: [1, 2, 3, 5, 9]

# 对元组进行降序排序

letters = ('b', 'd', 'a', 'c')

sorted_letters = sorted(letters, reverse=True)

print(sorted_letters) # 输出: ['d', 'c', 'b', 'a']

在以上示例中,我们首先定义了一个列表numbers和一个元组letters,然后使用sorted()函数对它们进行排序。注意,在原始数据上并没有产生任何改变,而是返回一个新的排序后的列表或元组。

2. sorted() 函数的高级应用

除了基本用法之外,sorted()函数还提供了一些高级应用:

2.1 按特定的键进行排序

sorted()函数的key参数可以指定一个函数,用于确定排序的键。键可以是元素的属性、方法或任何可调用对象。

例如,我们可以使用lambda函数作为key来根据每个字符串的长度进行排序:

words = ['apple', 'banana', 'cherry', 'dragon fruit']

sorted_words = sorted(words, key=lambda x: len(x))

print(sorted_words) # 输出: ['apple', 'banana', 'cherry', 'dragon fruit']

在上面的示例中,我们使用lambda函数key=lambda x: len(x)来指定排序的键是每个字符串的长度。sorted()函数将按照字符串长度升序排序。

此外,我们可以使用内置函数operator.itemgetter()作为key来根据元组中的特定元素进行排序:

import operator

students = [('Tom', 18, 'A'), ('John', 16, 'C'), ('Lisa', 17, 'B')]

sorted_students = sorted(students, key=operator.itemgetter(2))

print(sorted_students) # 输出: [('Tom', 18, 'A'), ('Lisa', 17, 'B'), ('John', 16, 'C')]

在上面的示例中,我们使用operator.itemgetter(2)作为key来指定排序的键是每个学生元组中的第三个元素,即成绩。sorted()函数将按照成绩的字母顺序进行排序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签