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

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

发布时间:2023-06-10 16:00:18

sorted()是Python中的一种内置函数,可以用于对列表进行排序。在使用sorted()进行列表排序时,需要指定一个参数作为排序依据。默认情况下,sorted()函数按照升序进行排序。

下面简单介绍如何在Python中使用sorted()进行列表排序。

1. 对数字列表进行排序

在Python中,可以使用sorted()函数对数字列表进行排序。例如,下面的代码可以对一个数字列表进行升序排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

运行以上代码,程序会输出以下结果:

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

sorted()函数会将数字列表按照升序排序,并返回一个新的已排序列表。在这个例子中,sorted_numbers变量保存了排序后的结果。

2. 对字符串列表进行排序

sorted()函数不仅可以对数字列表进行排序,还可以对字符串列表进行排序。例如,下面的代码可以对一个字符串列表进行升序排序:

fruits = ["banana", "orange", "apple", "pear", "kiwi", "grape"]
sorted_fruits = sorted(fruits)
print(sorted_fruits)

运行以上代码,程序会输出以下结果:

['apple', 'banana', 'grape', 'kiwi', 'orange', 'pear']

sorted()函数会将字符串列表按照其字典序进行排序,并返回一个新的已排序列表。

3. 对列表中的字典进行排序

在Python中,一个列表中可以包含多个字典。如果想要根据其中某个字典的值,对列表进行排序,则可以使用sorted()函数的key参数。

例如,下面的代码可以对一个包含字典的列表,根据其中每个字典的“name”键的值进行升序排序:

people = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Charlie", "age": 20}]
sorted_people = sorted(people, key=lambda k: k["name"])
print(sorted_people)

运行以上代码,程序会输出以下结果:

[{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 20}]

sorted()函数的key参数是一个函数,它指定了用于排序的键。在这个例子中,使用了一个lambda表达式作为key参数,用于指定按照字典中的“name”键进行排序。

4. 对列表中的元素进行逆序排序

除了升序排序,sorted()函数还可以进行降序排序。例如,下面的代码可以对一个数字列表进行降序排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)

运行以上代码,程序会输出以下结果:

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

sorted()函数的reverse参数可以设置为True,用于对列表进行逆序排序。

总结

在Python中,sorted()函数是一种常用的内置函数,可以用于对列表进行排序。在使用sorted()函数时,需要指定一个参数作为排序依据。除了升序排序外,还可以进行降序排序。如果在列表中包含多个字典,还可以使用key参数进行排序。