欢迎访问宙启技术站
智能推送

Python中用于排序的函数是什么

发布时间:2023-09-15 19:35:53

在Python中,用于排序的函数是sorted()。sorted()是Python的内置函数,可用于按特定规则对列表、元组、字典和其他可迭代对象进行排序。

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

参数说明:

- iterable:待排序的可迭代对象,如列表、元组等。

- key:指定一个函数,用于从每个可迭代对象中提取一个用于比较的关键字。默认值为None,表示按照元素的原始顺序进行排序。

- reverse:指定排序顺序,如果为True,则按降序排序,如果为False,则按升序排序。默认值为False。

sorted()返回一个新的已排序的列表,原始对象不受影响。

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

1. 对列表进行排序:

numbers = [9, 4, 5, 1, 7, 3]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # [1, 3, 4, 5, 7, 9],按升序排序

2. 对元组进行排序:

fruits = ("apple", "banana", "cherry", "date")
sorted_fruits = sorted(fruits)
print(sorted_fruits)  # ['apple', 'banana', 'cherry', 'date'],字母顺序排序

3. 对字典进行排序:

students = {
    "Tom": 19,
    "Alice": 21,
    "Bob": 18,
    "Charlie": 20
}
sorted_students = sorted(students.items(), key=lambda x: x[1])
print(sorted_students)  # [('Bob', 18), ('Tom', 19), ('Charlie', 20), ('Alice', 21)],按年龄升序排序

4. 自定义排序规则:

names = ["Alice", "bob", "Charlie", "dave"]
sorted_names = sorted(names, key=str.lower)
print(sorted_names)  # ["Alice", "bob", "Charlie", "dave"],按照不区分大小写的字母顺序排序

在这个例子中,使用str.lower作为key参数来指定每个字符串的小写形式作为比较的关键字,从而实现不区分大小写的排序。

总结:

通过使用sorted()函数,可以轻松对Python中的各种可迭代对象进行排序。通过自定义key参数,还可以根据特定的排序规则进行排序,从而满足不同的需求。