概要
Python
でリストに要素を追加する際、append()
とextend()
の2つのメソッドがよく使われますが、それぞれの動作には違いがあります。
append()の使い方
append()
はリストに1つの要素をそのまま追加します。リストそのものが1つのエントリとして扱われます。
x = [1, 2, 3]
x.append([4, 5])
print(x) # 出力: [1, 2, 3, [4, 5]]
このように、リスト全体が1つの要素として追加され、ネストされたリストになります。
extend()の使い方
extend()
は、渡されたリストの各要素を1つずつ元のリストに追加します。
x = [1, 2, 3]
x.extend([4, 5])
print(x) # 出力: [1, 2, 3, 4, 5]
この場合、ネストされることなく要素が追加されます。
パフォーマンスの違い
append()
は単一のオブジェクトを追加するためシンプルですが、複数の要素を順番に追加する場合にはextend()
がより効率的です。extend()
はCで実装されているため、ループ処理を使ってappend()
を繰り返すよりも高速です。
まとめ
リストに単一の要素を追加する場合はappend()
、複数の要素を追加する場合はextend()
を使用するのが推奨されます。適切なメソッドを選ぶことで、効率的なコードを書くことができます。