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

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()函数。