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

排序列表的Python函数sorted()的使用方法

发布时间:2023-11-06 18:04:19

sorted()是Python内置的一个排序函数,用于对列表进行排序。它可以对包含数字、字符串等其他可比较对象的列表进行排序,并返回一个新的已排序的列表。

sorted()函数的基本用法如下:

sorted(iterable, key=None, reverse=False)

其中,iterable是一个可迭代对象,例如列表、元组、集合等;

key是一个可选参数,用于指定排序的关键字,可以是一个函数或Lambda表达式;

reverse是一个可选参数,用于指定排序的方向,如果为True,则按降序排列,默认为False,即按升序排列。

下面通过几个例子来具体讲解sorted()函数的使用方法。

1. 对数字列表进行排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]

sorted_numbers = sorted(numbers)

print(sorted_numbers)

输出:

[1, 1, 2, 3, 4, 5, 5, 6, 9]

2. 对字符串列表进行排序:

fruits = ['apple', 'banana', 'cherry', 'Durian', 'orange']

sorted_fruits = sorted(fruits)

print(sorted_fruits)

输出:

['Durian', 'apple', 'banana', 'cherry', 'orange']

这里需要注意的是,默认情况下,sorted()函数是按照字母的ASCII码进行排序的,所以大写字母会排在小写字母的前面。

3. 按指定的关键字进行排序:

students = [

    {'name': 'Tom', 'age': 20},

    {'name': 'Jerry', 'age': 18},

    {'name': 'Alice', 'age': 22}

]

sorted_students = sorted(students, key=lambda x: x['age'])

print(sorted_students)

输出:

[{'name': 'Jerry', 'age': 18}, {'name': 'Tom', 'age': 20}, {'name': 'Alice', 'age': 22}]

这里使用了Lambda表达式作为关键字参数key,以按年龄进行排序。

4. 按降序进行排序:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5]

sorted_numbers = sorted(numbers, reverse=True)

print(sorted_numbers)

输出:

[9, 6, 5, 5, 4, 3, 2, 1, 1]

将参数reverse设置为True,使得列表按降序排列。

总结起来,sorted()函数是一个非常方便的排序函数,可以对数字、字符串等可比较对象的列表进行排序。通过使用key参数,还可以按指定的关键字进行排序。此外,还可以通过设置reverse参数来控制排序的方向。使用sorted()函数可以在不改变原始列表的情况下,得到一个新的排序后的列表。