Kodrill

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

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

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

Python
from operator import attrgetterfrom dataclasses import dataclass​@dataclassclass Book:    title: str    year: int​books = [Book("B", 2020), Book("A", 2020), Book("C", 2019)]print([b.title for b in sorted(books, key=attrgetter("year", "title"))])print(max(books, key=attrgetter("year")).title)

選択肢

  • A.['C', 'A', 'B'] B正解
  • B.['C', 'B', 'A'] B
  • C.['A', 'B', 'C'] A
  • D.['C', 'A', 'B'] A

解説実行して確認済み

operator.attrgetter("year", "title") は、属性 year と title のタプルを返す関数を作るので、年の昇順、同じ年ならタイトル順に並びます。max も key を取れ、最大の値が複数あるときは最初に見つかった要素を返すので、2020 年のうち先にある B になります。

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

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

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

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