データ構造(リスト・辞書・タプル・集合)比較問題
リストのコピーと参照について、正しい説明はどれですか?
A.list1 = list2 と記述した場合、list1はlist2の独立したコピーが生成される
✗ 誤りです。list1 = list2 とした場合は参照の割り当てであり、コピーではありません。
B.list1 = list2.copy()と記述した場合、list1とlist2は同じオブジェクトを参照しており、一方の変更は他方に反映される
✗ 誤りです。逆です。.copy()メソッドは浅いコピーを作成し、独立したオブジェクトになります。
C.list1 = list2 と記述した場合、list1とlist2は同じリストオブジェクトを参照し、どちらを変更しても両方に反映される← 正解
✓ 正解です。= による代入は参照を割り当てるため、同じオブジェクトを参照し、変更は両方に反映されます。
D.タプルはコピーと参照の概念がないため、= で代入した場合は常に独立したコピーになる
✗ 誤りです。タプルも参照と値の概念がありますが、タプル自体が不変のため実践的な影響が少なくなります。