Kodrill

Python 3 エンジニア認定実践試験 / データ型とアルゴリズム ・ 無料問題 1/5

データ型とアルゴリズム 問題1[ソート (sorted・sort・operator)]

次のコードを実行したときの出力を選んでください。

Python
from operator import itemgetter​users = [("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 つ目の値から順に比べるので、(-年齢, 名前) は「年齢の降順、同じ年齢なら名前の昇順」になります。

この問題の答えは、試験の対象バージョンでコードを実際に実行して確かめています。確かめ方は運営者情報に書いています。

「データ型とアルゴリズム」の要点を解説記事で読む

「データ型とアルゴリズム」の無料問題

ここで公開しているのは無料範囲の問題です。無料登録すると、解答の記録・ダッシュボードでの復習ができ、 プレミアムならこの問題セットの全問題と本番形式の模擬試験も解けます。