Python: 値によるリストの受け渡しと参照によるリストの受け渡し
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']
この例では、'XYZ' を 'b' に追加すると、メモリ内の同じオブジェクトを参照するため、'a' にも影響します。この動作を回避してリストの本物のコピーを作成するには、Python のスライス割り当てを使用する必要があります。
b = a[:]
この操作により、元のリストとは独立して、メモリ内に新しいリスト オブジェクトが作成されます。その結果、「b」に加えられた変更は「a」には影響しません。
要約すると、リストなどの変更可能なオブジェクトを操作するには、Python の参照渡しメカニズムを理解することが不可欠です。スライス割り当てを使用すると、リストのコピーを作成し、その値が後続の変更によって影響を受けないようにすることができます。
以上がPython リスト: 値渡しか参照渡し?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。