星付きアンパック
次のコードを実行したときの出力として、正しいものを1つ選べ。
a, *b, c = [1, 2, 3, 4, 5]
print(a, b, c)
- A
1 (2, 3, 4) 5 - B
1 [2, 3, 4, 5] 5 - C
ValueErrorが発生する。 - D
1 [2, 3, 4] 5
正解と解説を見る
正解:D
代入の左辺に *名前 を 1 つ置くと、余った要素がリストとして入る。
| 順 | 実行する行 | 実行後の変数 |
|---|---|---|
| 1 | `a, *b, c = [1, 2, 3, 4, 5]` | a = 1, b = [2, 3, 4], c = 5 |
| 2 | `print(a, b, c)` | a = 1, b = [2, 3, 4], c = 5 |
| 結果 | 実際の出力 | 1 [2, 3, 4] 5 |
- A
誤り。星付きの変数にはリストが入る。
- B
誤り。
cが最後の要素を受け取る。 - C
誤り。星付きの変数があれば、個数が合わなくてもよい。
- D
正しい。
*bが余りをリストで受け取る。
このサイトの問題は、各試験の公式に示された出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。一般社団法人Pythonエンジニア育成推進協会の公式サービスではありません。