拡張スライス
次のコードを実行したときの出力として、正しいものを1つ選べ。
a = list(range(10))
print(a[::-1][:3], a[1::4])
- A
[0, 1, 2] [1, 5, 9] - B
[9, 8, 7] [1, 2, 3] - C
[7, 8, 9] [1, 5, 9] - D
[9, 8, 7] [1, 5, 9]
正解と解説を見る
正解:D
スライス a[開始:終了:ステップ]。ステップが負なら逆順。リストのスライスは新しいリストを返す。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `a = list(range(10))` | a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
| 2 | `print(a[::-1][:3], a[1::4])` | a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
| 結果 | 実際の出力 | [9, 8, 7] [1, 5, 9] |
- A
誤り。
[::-1]は逆順。 - B
誤り。ステップは 4。
- C
誤り。逆順にしてから先頭の 3 つを取る。
- D
正しい。
[::-1]は逆順、[1::4]は 1 から 4 つおき。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。