首页 > 文章列表 > 使用Python的sorted()函数对列表进行排序

使用Python的sorted()函数对列表进行排序

Python sorted() 列表排序
499 2023-11-18

使用Python的sorted()函数对列表进行排序

Python是一种功能强大的编程语言,提供了许多内置的函数和方法来帮助开发人员处理不同的任务。其中一个非常有用的函数是sorted()函数,它可以用于对列表进行排序。

sorted()函数接受一个可迭代对象(如列表或元组)作为参数,并返回一个新的已排序的列表。可以根据元素的大小、字母顺序或自定义的规则进行排序。

下面是一些使用sorted()函数对列表进行排序的示例代码:

示例1:对一个数字列表进行升序排序

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

输出结果:[1, 2, 3, 5, 9]

示例2:对一个字符串列表进行字母顺序排序

fruits = ["apple", "banana", "cherry", "date"]
sorted_fruits = sorted(fruits)
print(sorted_fruits)

输出结果:['apple', 'banana', 'cherry', 'date']

示例3:对一个字符串列表进行按照字符串长度排序

fruits = ["apple", "banana", "cherry", "date"]
sorted_fruits_by_length = sorted(fruits, key=len)
print(sorted_fruits_by_length)

输出结果:['date', 'apple', 'banana', 'cherry']

示例4:对一个字典列表根据指定键进行排序

students = [{"name": "Alice", "age": 18}, {"name": "Bob", "age": 20}, {"name": "Charlie", "age": 15}]
sorted_students_by_age = sorted(students, key=lambda x: x["age"])
print(sorted_students_by_age)

输出结果:[{"name": "Charlie", "age": 15}, {"name": "Alice", "age": 18}, {"name": "Bob", "age": 20}]

示例5:对一个复杂的对象列表进行排序

class Person:

def __init__(self, name, age):
    self.name = name
    self.age = age

def __repr__(self):
    return f"Person(name={self.name}, age={self.age})"

persons = [Person("Alice", 18), Person("Bob", 20), Person("Charlie", 15)]
sorted_persons_by_age = sorted(persons, key=lambda x: x.age)
print(sorted_persons_by_age)

输出结果:[Person(name=Charlie, age=15), Person(name=Alice, age=18), Person(name=Bob, age=20)]

从以上示例可见,sorted()函数提供了非常灵活的排序方式。通过适当地使用key参数和lambda函数,我们可以实现对列表的多种排序需求。

需要注意的是,sorted()函数并不会修改原始列表,而是返回一个新的已排序的列表。如果想在原始列表上进行排序的话,可以使用列表的sort()方法。

总结一下,使用Python的sorted()函数对列表进行排序非常简单。只需要传入要排序的列表作为参数,并可以选择性地指定排序的方式。希望这篇文章对你理解sorted()函数的使用有所帮助。