ホームページ > バックエンド開発 > Python チュートリアル > Python リスト: 値渡しか参照渡し?

Python リスト: 値渡しか参照渡し?

Linda Hamilton
リリース: 2024-11-28 19:44:12
オリジナル
730 人が閲覧しました

Python Lists: Pass by Value or Pass by Reference?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート