Python中函数sorted的用法
时间: 2024-02-25 14:58:39 浏览: 75
python使用sorted函数对列表进行排序的方法
函数 `sorted` 是 Python 内置的一个高阶函数,它可以按照指定的规则对可迭代对象进行排序,并返回一个新的已排序的列表。
`sorted` 函数的语法为:
```python
sorted(iterable, *, key=None, reverse=False)
```
其中,`iterable` 表示需要排序的可迭代对象,例如列表、元组等。`key` 用于指定排序规则,它是一个函数,接受一个参数并返回一个用于排序的关键字;`reverse` 用于指定排序方式,如果为 `True` 表示降序排列,否则为升序排列。在默认情况下,`sorted` 函数会按照元素的大小进行升序排列。
例如,对一个列表进行升序排列可以这样写:
```python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst)
print(sorted_lst)
# Output: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
```
如果需要对一个列表进行降序排列,则可以这样写:
```python
lst = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_lst = sorted(lst, reverse=True)
print(sorted_lst)
# Output: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]
```
如果需要按照元素的某个属性进行排序,则可以使用 `key` 参数,例如:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f"{self.name}({self.age})"
people = [Person("Alice", 25), Person("Bob", 20), Person("Charlie", 30)]
sorted_people = sorted(people, key=lambda x: x.age)
print(sorted_people)
# Output: [Bob(20), Alice(25), Charlie(30)]
```
阅读全文