groupby
次のコードを実行したときの出力として、正しいものを1つ選べ。
import itertools
print([(k, list(g)) for k, g in itertools.groupby("aabbb")])
- A
[('a', 2), ('b', 3)] - B
[('a', ['a']), ('b', ['b'])] - C
{'a': 2, 'b': 3} - D
[('a', ['a', 'a']), ('b', ['b', 'b', 'b'])]
正解と解説を見る
正解:D
itertools.groupby は、連続する同じキーの要素をまとめる。事前に並べ替えておく必要がある。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `import itertools` | — |
| 2 | `print([(k, list(g)) for k, g in itertools.gro…` | — |
| 結果 | 実際の出力 | [('a', ['a', 'a']), ('b', ['b', 'b', 'b'])] |
- A
誤り。グループの要素のリストを返している。
- B
誤り。連続する要素がまとめられる。
- C
誤り。辞書ではなく、リストの組。
- D
正しい。連続する同じ値をまとめる。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。