📅  最后修改于: 2023-12-03 15:34:27.867000             🧑  作者: Mango
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)