本答案頁包含 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 道題。