1. ホーム
  2. python

[解決済み] python list by value not by reference [duplicate] (参照ではなく値によるリスト)

2022-04-14 13:20:48

質問

例を挙げてみましょう。

a=['help', 'copyright', 'credits', 'license']
b=a
b.append('XYZ')
b
['help', 'copyright', 'credits', 'license', 'XYZ']
a
['help', 'copyright', 'credits', 'license', 'XYZ']

リスト 'b' に値を追加したかったのですが、リスト 'a' の値も変更されました。

私はこのような理由(pythonは参照によってリストを渡す)を少し理解していると思います。

私の質問は、quot; 'b'を追加しても'a'の値を変更しないように、値でそれを渡すにはどうすればよいですか?

どのように解決するのですか?

Pythonでは値で何かを渡すことはできません。もしあなたが a で説明されているように、明示的にそうすることができます。 Python公式FAQ :

b = a[:]