Python函数sorted的实例:如何对列表进行排序?
发布时间:2023-07-01 11:04:02
Python中的函数sorted()用于对序列(如列表)进行排序。它可以对数字、字符串、元组和自定义对象等进行排序。
下面我们来看一些实例,展示如何对列表进行排序。
实例1:对数字列表进行排序
numbers = [4, 2, 1, 3, 5] # 定义一个数字列表 # 使用sorted()函数对列表进行排序,得到一个新的排序后的列表 sorted_numbers = sorted(numbers) print(sorted_numbers) # 输出 [1, 2, 3, 4, 5]
实例2:对字符串列表进行排序
fruits = ['apple', 'banana', 'cherry', 'pear'] # 定义一个字符串列表 # 使用sorted()函数对列表进行排序,得到一个新的排序后的列表 sorted_fruits = sorted(fruits) print(sorted_fruits) # 输出 ['apple', 'banana', 'cherry', 'pear']
实例3:对元组列表进行排序
people = [('Alice', 25), ('Bob', 20), ('Charlie', 30)] # 定义一个元组列表
# 使用sorted()函数对列表进行排序,根据元组中的第二个元素(年龄)进行排序
sorted_people = sorted(people, key=lambda x: x[1])
print(sorted_people) # 输出 [('Bob', 20), ('Alice', 25), ('Charlie', 30)]
实例4:对自定义对象列表进行排序
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 25), Person('Bob', 20), Person('Charlie', 30)] # 定义一个自定义对象列表
# 使用sorted()函数对列表进行排序,根据对象中的age属性进行排序
sorted_people = sorted(people, key=lambda x: x.age)
for person in sorted_people:
print(person.name, person.age)
以上是一些使用sorted()函数对列表进行排序的实例。sorted()函数可以通过关键字参数key指定排序的依据,而且排序后会返回一个新的排序后的列表,原列表保持不变。在使用sorted()函数时,我们也可以传入reverse=True参数来实现降序排序。
除了使用sorted()函数,列表对象也有一个sort()方法可以直接对原列表进行排序。但与sorted()函数不同的是,sort()方法是对原列表进行排序,不会返回新的排序后的列表。所以如果你希望保留原列表并得到一个排序后的新列表,应该使用sorted()函数。
