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

Python函数如何使用内置函数sorted()对列表进行排序?

发布时间:2023-07-11 19:22:50

Python的内置函数sorted()用于对可迭代对象进行排序,默认情况下按照升序进行排序。对于列表的排序,可以使用sorted()函数将列表中的元素按照指定的顺序排序。下面是一些使用sorted()函数对列表进行排序的常用方法:

1. 对于数字列表:

numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出 [1, 2, 3, 4, 5]

2. 对于字符串列表:

fruits = ['orange', 'apple', 'banana', 'kiwi']
sorted_fruits = sorted(fruits)
print(sorted_fruits)  # 输出 ['apple', 'banana', 'kiwi', 'orange']

3. 对于包含复杂数据结构的列表,可以使用排序的关键字参数来指定排序顺序。例如,对于包含字典对象的列表,可以使用lambda函数来指定按照字典的某个键进行排序:

people = [{'name': 'Alice', 'age': 25},
          {'name': 'Bob', 'age': 18},
          {'name': 'Charlie', 'age': 32}]
sorted_people = sorted(people, key=lambda x: x['age'])
print(sorted_people)
# 输出 [{'name': 'Bob', 'age': 18},
#      {'name': 'Alice', 'age': 25},
#      {'name': 'Charlie', 'age': 32}]

4. sorted()函数也可以接受一个reverse参数,用于指定排序的顺序。如果reverse=True,则按照降序进行排序,默认值为False。

numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)  # 输出 [5, 4, 3, 2, 1]

需要注意的是,sorted()函数返回一个新的排序后的列表,原始列表的顺序并没有改变。如果想要对原始列表进行排序,可以使用列表的sort()方法。

numbers = [3, 1, 4, 2, 5]
numbers.sort()
print(numbers)  # 输出 [1, 2, 3, 4, 5]

总结来说,使用内置函数sorted()对列表进行排序的步骤如下:

1. 使用sorted()函数并传入待排序的列表作为参数;

2. 可选地使用关键字参数key和reverse来指定排序规则;

3. 接收返回的新排序列表,并对其进行进一步操作。

除了列表,sorted()函数也适用于其他可迭代对象的排序,如元组、字符串等。