`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()`办法没有回来值,它
未经允许不得转载:全栈博客园 » python中sorted函数, 什么是sorted函数?