sorted()函数是一个内置函数,它可以对列表、元组、字符串等可迭代类型进行排序,并返回一个新排序后的列表序列。
一、sorted()函数的基本用法
sorted()函数的基本语法如下:
sorted(iterable, key=None, reverse=False)
其中iterable表示要排序的可迭代对象,例如列表、元组、字符串等。key参数可选,用于指定排序时的比较规则。reverse参数可选,默认为False,表示按升序排序;如果设置为True,则表示按降序排序。
示例:
1.对字符串进行排序:
string = "hello world"
sorted_string = sorted(string)
print(sorted_string) # 输出:[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
string = "hello world"
sorted_string = sorted(string)
print(sorted_string)
# 输出:[' ', 'd', 'e', 'h', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
2.对列表进行排序:
list_nums = [2, 1, 4, 5, 3]
sorted_list_nums = sorted(list_nums)
print(sorted_list_nums)
# 输出:[1, 2, 3, 4, 5]
3.对元组进行排序:
tuple_nums = (2, 1, 4, 5, 3)
sorted_tuple_nums = sorted(tuple_nums)
print(sorted_tuple_nums)
# 输出:[1, 2, 3, 4, 5]
二、对于参数key的用法
参数key用于指定排序时的规则。它可以是一个函数,也可以是一个Lambda表达式。参数key的作用是对每个元素进行处理,然后根据处理结果进行排序。
示例:
1.对字符串列表按字符串长度进行排序:
names = ['Angela', 'Tom', 'Melodey', 'Chuck']
sorted_names = sorted(names, key=len)
print(sorted_names)
# 输出:['Tom', 'Chuck', 'Angela', 'Melodey']
2.对字典列表按字典键值进行排序:
students = [{'name': 'Angela', 'age': 20}, {'name': 'Melodey', 'age': 18}, {'name': 'Chuck', 'age': 22}]
sorted_students = sorted(students, key=lambda x: x['age'])
print(sorted_students)
# 输出:[{'name': 'Melodey', 'age': 18}, {'name': 'Angela', 'age': 20}, {'name': 'Chuck', 'age': 22}]
三、对于参数reverse的用法
参数reverse用于指定排序顺序。默认为False,表示按升序排序;若设置为True,则表示按降序排序。
list_nums = [2, 1, 4, 5, 3]
sorted_list_nums = sorted(list_nums, reverse=True)
print(sorted_list_nums)
# 输出:[5, 4, 3, 2, 1]
总结:通过sorted()函数,我们可以方便地对字符串、列表、元组等序列进行排序。key参数用于指定排序规则,reverse参数用于指定排序顺序。