排序列表的Python函数sorted()的使用方法
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()函数可以在不改变原始列表的情况下,得到一个新的排序后的列表。
