📜  Python列表排序()方法(1)

📅  最后修改于: 2023-12-03 15:34:27.867000             🧑  作者: Mango

Python列表排序()方法

Python中的列表排序方法可用于对列表中的元素进行排序。排序可以按升序或降序进行。

使用方法
list.sort(reverse=False)

其中,list表示待排序的列表,reverse=False表示按升序进行排序。若需要按降序进行排序,可将reverse参数设置为True

示例

以下是对一个整数列表进行排序的示例:

nums = [5, 2, 8, 1, 9]
nums.sort()  # 升序排列
print(nums)  # 输出 [1, 2, 5, 8, 9]

nums.sort(reverse=True)  # 降序排列
print(nums)  # 输出 [9, 8, 5, 2, 1]

还可以对字符串列表进行排序。以下是对一个字符串列表进行排序的示例:

fruits = ["apple", "banana", "cherry", "durian"]
fruits.sort()
print(fruits)  # 输出 ["apple", "banana", "cherry", "durian"]

# 按长度排序
fruits.sort(key=lambda x: len(x))
print(fruits)  # 输出 ["apple", "durian", "banana", "cherry"]

在对字符串列表进行排序时,可以使用key参数指定排序规则。例如按字符串长度进行排序,可以使用lambda表达式和len()函数。

注意事项
  • sort()方法会改变原始列表,若不希望改变原始列表,可以使用sorted()函数。
  • 对于列表中的元素为对象的情况,可以使用key参数自定义排序规则。例如:
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __str__(self):
        return f'{self.name} ({self.age})'

people = [
    Person("Alice", 27),
    Person("Bob", 23),
    Person("Charlie", 30),
]

# 按年龄排序
people.sort(key=lambda x: x.age)
for person in people:
    print(person)

输出:

Bob (23)
Alice (27)
Charlie (30)