Python 3 エンジニア認定実践試験 / データ型とアルゴリズム ・ 無料問題 1/5
データ型とアルゴリズム 問題1[ソート (sorted・sort・operator)]
次のコードを実行したときの出力を選んでください。
from operator import itemgetterusers = [("ann", 30), ("bob", 25), ("cat", 30)]print(sorted(users, key=itemgetter(1)))print(sorted(users, key=lambda u: (-u[1], u[0])))選択肢
- A.[('bob', 25), ('cat', 30), ('ann', 30)] [('ann', 30), ('cat', 30), ('bob', 25)]
- B.[('ann', 30), ('bob', 25), ('cat', 30)] [('bob', 25), ('ann', 30), ('cat', 30)]
- C.[('bob', 25), ('ann', 30), ('cat', 30)] [('cat', 30), ('ann', 30), ('bob', 25)]
- D.[('bob', 25), ('ann', 30), ('cat', 30)] [('ann', 30), ('cat', 30), ('bob', 25)]正解
解説実行して確認済み
operator.itemgetter(1) は、要素の 1 番目を取り出す関数を作ります。Python のソートは安定ソートなので、キーが同じ ann と cat は元の並び順のまま残ります。キーにタプルを返すと 1 つ目の値から順に比べるので、(-年齢, 名前) は「年齢の降順、同じ年齢なら名前の昇順」になります。
この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。
Python 3 エンジニア認定実践試験 の他の分野の無料問題
ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。