首页  > 后端开发 > python中sorted函数, 什么是sorted函数?

python中sorted函数, 什么是sorted函数?

后端开发 2024-12-26 4

`sorted` 函数是 Python 的内置函数,用于对可迭代目标(如列表、元组、字符串等)进行排序。该函数回来一个新的列表,其间包括排序后的元素。

根本语法```pythonsorted```

`iterable`: 要排序的可迭代目标。 `key`: 可选参数,指定一个函数,该函数的回来值将用于排序。默以为 `None`。 `reverse`: 可选参数,指定排序是否为降序。默以为 `False`。

示例```python 对数字列表进行排序numbers = sorted_numbers = sortedprint 输出:

对字符串列表进行排序strings = sorted_strings = sortedprint 输出:

运用 key 参数进行排序numbers = sorted_numbers_key = sortedprint 输出:

运用 reverse 参数进行降序排序sorted_numbers_reverse = sortedprint 输出: ```

注意事项 `sorted` 函数不会修正原始的可迭代目标,而是回来一个新的列表。 假如可迭代目标中的元素无法比较(例如,列表中包括不同类型的元素),则 `sorted` 函数将引发 `TypeError`。 假如 `key` 参数指定的函数回来值无法比较,也会引发 `TypeError`。

Python中sorted函数详解

在Python编程中,排序是数据处理中十分常见的一个操作。`sorted()`函数是Python内置的一个强壮东西,它能够对各种可迭代目标进行排序。本文将具体介绍`sorted()`函数的用法、参数以及在实践运用中的技巧。

什么是sorted函数?

在Python中,`sorted()`是一个内置函数,用于对可迭代目标(如列表、元组、字符串等)进行排序。与列表的`.sort()`办法不同,`sorted()`函数会回来一个新的排序列表,而不会修正原始列表。

根本用法

运用`sorted()`函数十分简略。以下是一个根本的比如,展现了怎么对一个列表进行排序:

```python

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

sorted_numbers = sorted(numbers)

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

参数详解

`sorted()`函数承受几个参数,其间最重要的是`key`和`reverse`。

key参数

`key`参数答应你指定一个函数,该函数将被用来从每个元素中提取一个用于排序的键。默许情况下,`sorted()`会运用元素自身进行比较。

```python

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

sorted_numbers = sorted(numbers, key=lambda x: x2)

print(sorted_numbers) 输出: [1, 1, 2, 3, 4, 5, 6, 9],由于排序依据的是平方值

reverse参数

`reverse`参数是一个布尔值,假如设置为`True`,则列表元素将被逆序摆放。默许情况下,`sorted()`函数进行升序排序。

```python

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

sorted_numbers_desc = sorted(numbers, reverse=True)

print(sorted_numbers_desc) 输出: [9, 6, 5, 4, 3, 2, 1, 1]

运用场景

列表排序

对列表进行排序是最常见的用处之一。

```python

my_list = ['banana', 'apple', 'cherry']

sorted_list = sorted(my_list)

print(sorted_list) 输出: ['apple', 'banana', 'cherry']

字典排序

`sorted()`函数也能够用来对字典进行排序,无论是依据键仍是值。

```python

my_dict = {'banana': 3, 'apple': 4, 'cherry': 1}

sorted_dict_by_key = sorted(my_dict.keys())

sorted_dict_by_value = sorted(my_dict.values())

print(sorted_dict_by_key) 输出: ['apple', 'banana', 'cherry']

print(sorted_dict_by_value) 输出: [1, 3, 4]

差异与联络

`sorted()`和列表的`.sort()`办法在功能上十分类似,但它们之间有一些要害的差异:

就地排序与回来新列表

`sorted()`回来一个新的排序列表,而`.sort()`办规律直接在原始列表上进行排序。

```python

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

sorted_numbers = sorted(numbers)

numbers.sort()

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

print(numbers) 输出: [1, 1, 2, 3, 4, 5, 6, 9]

回来值

`sorted()`回来一个新的排序列表,而`.sort()`办法没有回来值,它


Copyright © 2016-2028零基础教程 Rights Reserved. XML地图