Python でリストを扱うときは、参照渡しの概念を理解することが重要です。別の変数によって参照されるリストは、両方の変数に反映されます。これにより、特に同じリストへの複数の参照を操作する場合、予期しない動作が発生する可能性があります。
次の例を考えてみましょう:
a = ['help', 'copyright', 'credits', 'license'] b = a b.append('XYZ') print(b) # Output: ['help', 'copyright', 'credits', 'license', 'XYZ'] print(a) # Output: ['help', 'copyright', 'credits', 'license', 'XYZ']
この例では、 b は同じリストへの参照です。として。 'XYZ' を b に追加すると、両方の変数が同じ基になるリストを指すため、a にも追加されます。これは参照渡しとして知られています。
これを回避するには、代わりにリストを値で渡す必要があります。 Python では、元のリストのコピーを作成することでこれを実現できます。これを行うにはいくつかの方法がありますが、最も一般的なのはスライス演算子を使用することです。
b = a[:]
これにより、a の要素のコピーを含む新しいリストが作成されます。 b に加えられた変更は a には影響しませんし、その逆も同様です。例:
b.append('ABC') print(b) # Output: ['help', 'copyright', 'credits', 'license', 'XYZ', 'ABC'] print(a) # Output: ['help', 'copyright', 'credits', 'license', 'XYZ']
この場合、b に 'ABC' を追加しても、a は別のリストを参照するようになるため、影響しません。
以上がPython でリストを関数に渡すときに、意図しないリストの変更を回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。