本答案页包含 Python 排序与 key 函数 的 4 道选择题、4 道填空题和 4 道输出预测题,每题都给出准确答案和简短解释。
答案已完整展示,建议先尝试作答,再用本页核对。第一次练习最好从互动练习页开始。
哪个调用会返回新的排序列表?
答案: sorted(items)
为什么: sorted 返回新列表;sort 原地修改列表。
key 参数的作用是什么?
答案: 选择用于比较的值
为什么: key 接收元素并返回 Python 用于比较的值。
enumerate 提供什么?
答案: 索引和值
为什么: 每次迭代都会给出索引和对应的值。
list(zip([1, 2], ["a", "b"])) 会得到什么?
答案: [(1, 'a'), (2, 'b')]
为什么: zip 会把两个序列中位置相同的元素配对。
补全参数,使排序从大到小。
prices = [3.0, 6.0, 4.5]
print(sorted(prices, ____=True))答案: reverse
为什么: reverse=True 会反转比较顺序。
补全用作 key 的小型匿名函数。
orders = [("latte", 4.5), ("tea", 3.0)]
print(sorted(orders, key=____ item: item[1]))答案: lambda
为什么: lambda item: item[1] 返回第二个字段作为排序依据。
补全函数,为循环添加索引。
names = ["latte", "tea"]
for i, name in ____(names):
print(i, name)答案: enumerate
为什么: enumerate(names) 每次迭代都会给出索引和名称。
补全函数,把两个序列配对。
names = ["latte", "tea"]
prices = [4.5, 3.0]
for name, price in ____(names, prices):
print(name, price)答案: zip
为什么: zip(names, prices) 会把同一位置上的名称和价格配对。
运行结果是什么?
print(sorted([3, 1, 2]))答案: [1, 2, 3]
为什么: sorted 返回升序排列的值。
这段程序打印出什么?
print(sorted(["bb", "a", "ccc"], key=len))答案: ['a', 'bb', 'ccc']
为什么: 字符串按长度排序。
代码的输出结果是什么?
print(list(enumerate(["a", "b"])))答案: [(0, 'a'), (1, 'b')]
为什么: enumerate 把每个值和索引配对。
屏幕上会显示什么?
print(max([4, 9, 2]))答案: 9
为什么: max 返回最大值。
先试一遍题目
打开 Python 排序与 key 函数 练习页,用即时反馈回答同样的 12 道题。