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

python中的sort()函数如何使用

发布时间:2023-07-04 02:57:42

在Python中,列表(List)是一种常见的数据结构,我们可以使用sort()函数对列表进行排序操作。sort()函数有两种使用方式:默认排序和自定义排序。

1. 默认排序:

默认情况下,sort()函数按升序对列表进行排序。

numbers = [4, 2, 7, 1, 9, 5]

numbers.sort()

print(numbers)

# 输出:[1, 2, 4, 5, 7, 9]

2. 自定义排序:

我们可以使用key参数来指定一个函数,该函数用于从每个元素中提取一个用于排序的键。

fruits = ['banana', 'apple', 'orange', 'mango']

# 按字符串长度排序
fruits.sort(key=len)

print(fruits)

# 输出:['apple', 'banana', 'mango', 'orange']

key参数还可以接受一个lambda函数作为输入,以实现更复杂的排序逻辑。

students = [
    {'name': 'Alice', 'age': 20},
    {'name': 'Bob', 'age': 18},
    {'name': 'John', 'age': 22},
    {'name': 'Jane', 'age': 25}
]

# 按年龄排序
students.sort(key=lambda x: x['age'])

print(students)

# 输出:[{'name': 'Bob', 'age': 18}, {'name': 'Alice', 'age': 20}, {'name': 'John', 'age': 22}, {'name': 'Jane', 'age': 25}]

对于数字列表,我们还可以使用reverse参数来控制排序顺序。当reverse参数为True时,列表按降序排列。

numbers = [4, 2, 7, 1, 9, 5]

numbers.sort(reverse=True)

print(numbers)

# 输出:[9, 7, 5, 4, 2, 1]

sort()函数会直接修改原始列表,如果不希望修改原始列表,可以使用sorted()函数:

numbers = [4, 2, 7, 1, 9, 5]
sorted_numbers = sorted(numbers)

print(numbers)
print(sorted_numbers)

# 输出:[4, 2, 7, 1, 9, 5]
# 输出:[1, 2, 4, 5, 7, 9]

总结:

通过sort()函数,我们可以对Python中的列表进行排序操作。可以使用默认排序和自定义排序,通过key参数指定排序依据,使用reverse参数控制升序或降序排列。