key を指定した nsmallest
次のコードを実行したときの出力として、正しいものを1つ選べ。
import heapq
print(heapq.nsmallest(2, [(3, "c"), (1, "a"), (2, "b")], key=lambda t: t[0]))
- A
[(3, 'c'), (2, 'b')] - B
[(1, 'a')] - C
[1, 2] - D
[(1, 'a'), (2, 'b')]
正解と解説を見る
正解:D
heapq.nsmallest(n, 反復可能, key=...) は、key で比べる値を指定できる。全体を並べ替えるより効率がよいことが多い。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import heapq` | — |
| 2 | `print(heapq.nsmallest(2, [(3, "c"), (1, "a"),…` | — |
| 結果 | 実際の出力 | [(1, 'a'), (2, 'b')] |
- A
誤り。大きい方から取り出した結果。
- B
誤り。2 つ取り出す。
- C
誤り。要素の組が返る。
- D
正しい。
keyで比べる値を指定して、小さい方から 2 つ取り出す。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。