sorted()
函数用于对列表、元组、集合等可迭代对象进行排序。
sorted()
函数的基本语法如下:sorted(iterable, key=None, reverse=False)
其中,
iterable
:可迭代对象,如列表、元组、集合等。key
:可选参数,用于指定排序的依据,可以是一个函数或一个lambda表达式,将元素按照指定的函数进行排序。如果省略该参数,则默认按照元素原有的顺序进行排序。reverse
:可选参数,用于指定排序的顺序,如果为True,则进行降序排序,否则进行升序排序。默认为False。
如果我们想按照长度key=len进行降序排序,可以传入 reverse=True
参数:
words = ['apple', 'Banana', 'cherry', 'date', 'Elderberry']
sorted_words = sorted(words, key=len, reverse=True)
print(sorted_words) # ['Elderberry', 'Banana', 'apple', 'cherry', 'date']
使用 sorted()
函数按照分数从高到低对学生成绩表进行排序,然后使用 enumerate()
函数输出排名信息:
students = {
'Alice': 85,
'Bob': 90,
'Carol': 88,
'David': 92,
'Eve': 89,
}
# 按照分数从高到低显示排名
ranked_students = sorted(students.items(), key=lambda x: x[1], reverse=True)
for i, (name, score) in enumerate(ranked_students, start=1):
print(f'{i}. {name}: {score}')
students.items()
返回一个由学生姓名和分数组成的键值对列表,例如 [('Alice', 85), ('Bob', 90), ...]
。key=lambda x: x[1]
指定按照分数(列表的第二个元素)进行排序,即 x[1]
表示取出每个键值对中的分数。reverse=True
则指定按照分数从高到低排序,如果省略该参数,则默认按照分数从低到高排序。
综上所述,sorted(students.items(), key=lambda x: x[1], reverse=True)
的含义是按照学生分数从高到低对 students.items()
中的键值对进行排序。