Python函数:如何使用sorted()函数对列表进行排序?
发布时间:2023-11-04 08:57:47
在Python中,可以使用sorted()函数对列表进行排序。sorted()函数是一个内置函数,用于对可迭代对象进行排序,并返回一个新的排序后的列表。下面是一些对列表进行排序的常用方法:
1. 默认排序:如果不指定任何参数,sorted()函数将使用默认的排序方式对列表进行排序。对于数字列表,默认按照从小到大的顺序进行排序,对于字符串列表,默认按照字母顺序进行排序。例如:
numbers = [4, 2, 7, 1, 3] sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出:[1, 2, 3, 4, 7] fruits = ["banana", "apple", "orange", "pineapple"] sorted_fruits = sorted(fruits) print(sorted_fruits) # 输出:['apple', 'banana', 'orange', 'pineapple']
2. 降序排序:可以使用reverse=True参数将列表按降序进行排序。例如:
numbers = [4, 2, 7, 1, 3] sorted_numbers = sorted(numbers, reverse=True) print(sorted_numbers) # 输出:[7, 4, 3, 2, 1] fruits = ["banana", "apple", "orange", "pineapple"] sorted_fruits = sorted(fruits, reverse=True) print(sorted_fruits) # 输出:['pineapple', 'orange', 'banana', 'apple']
3. 自定义排序:可以使用key参数指定一个排序函数,该函数接受列表中的每个元素作为输入,并返回一个用于排序的键。例如,如果要按照字符串长度进行排序,可以定义一个函数get_length,并将其作为key参数传递给sorted()函数。例如:
fruits = ["banana", "apple", "orange", "pineapple"] sorted_fruits = sorted(fruits, key=len) print(sorted_fruits) # 输出:['apple', 'banana', 'orange', 'pineapple']
4. 对复杂对象进行排序:可以使用key参数的lambda函数来对复杂对象进行排序。例如,如果有一个列表包含多个字典,每个字典都有一个"name"键和"age"键,可以使用lambda函数根据"name"键对字典进行排序。例如:
people = [
{"name": "John", "age": 25},
{"name": "Alice", "age": 20},
{"name": "Bob", "age": 30}
]
sorted_people = sorted(people, key=lambda x: x["name"])
print(sorted_people) # 输出:[{'name': 'Alice', 'age': 20}, {'name': 'Bob', 'age': 30}, {'name': 'John', 'age': 25}]
上述是一些常见的使用sorted()函数对列表进行排序的方法。sorted()函数可以灵活地根据需要对列表进行排序,并返回排序后的新列表。
