list.__iadd__ と list.__add__ の異なる動作
Python では、リスト オブジェクトはリスト連結のための 2 つのメソッドを提供します。iadd と __add__。目的は似ているにもかかわらず、これらのメソッドの動作には大きな違いがあります。
iadd はインプレース リスト連結演算子です。 = 演算子と一緒に使用すると、既存のリストがその場で変更されます。例:
x = [1, 2, 3, 4] x += [4] print(x) # Output: [1, 2, 3, 4, 4]
この場合、x = [4] への呼び出しは iadd を使用して要素 4 をリスト x に追加し、その結果、変更されたリスト [1, 2, 3, 4, 4].
一方、add はリストの加算演算子です。演算子とともに使用すると、元のリストを変更するのではなく、新しいリストが返されます。例:
x = [1, 2, 3, 4] x = x + [4] print(x) # Output: [1, 2, 3, 4, 4] print(y) # Output: [1, 2, 3, 4]
この場合、x = x [4] の呼び出しでは、add を使用して、x と [4] の要素を結合する新しいリストを作成します。元のリスト x は変更されません。
この動作の違いは、Python の不変性の概念によるものです。リストは変更可能なオブジェクトであり、インプレースで変更を加えることができることを意味します。 iadd はこの可変性を利用してリストを直接変更しますが、add は元のリストの不変性を維持するために新しいリストを作成します。
以上がPython の `list.__iadd__` と `list.__add__` の主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。