21

私はDiveintoPython 3を読んでいて、リストのセクションで、「+」演算子を使用してリストを連結するか、extend()メソッドを呼び出すことができると著者は述べています。これらは、操作を行うための2つの異なる方法で同じですか?どちらかを使用する必要がある理由は何ですか?

>>> a_list = a_list + [2.0, 3]
>>> a_list.extend([2.0, 3])  
4

1 に答える 1

36

a_list.extend(b_list)その場で変更a_listします。a_list = a_list + b_list新しいリストを作成し、それを名前で保存しa_listます。バージョンa_list += b_listとまったく同じである必要があることに注意してください。extend

新しいオブジェクトを作成する必要がないため、extendまたはを使用するとおそらくわずかに高速になりますが、周囲への別の参照がある場合は、その値も変更されます(これは望ましい場合と望ましくない場合があります)。+=a_list

于 2013-01-13T06:02:53.583 に答える