概要

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()を使用するのが推奨されます。適切なメソッドを選ぶことで、効率的なコードを書くことができます。