Pythonのリストを操作する際によく使用される`extend()`メソッドについて、基本的な使い方から実践的な例まで詳しく解説します。

extend()メソッドとは

`extend()`メソッドは、既存のリストに別のリストの要素を追加するためのメソッドです。元のリストの末尾に新しいリストの要素が追加されます。

基本的な使い方

# 基本的な使用例
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list1.extend(list2)
print(list1)  # 出力: [1, 2, 3, 4, 5, 6]

extend()とappend()の違い

`extend()`と`append()`は似ているように見えますが、動作が異なります:

# extend()の場合
list1 = [1, 2, 3]
list2 = [4, 5]
list1.extend(list2)
print(list1)  # 出力: [1, 2, 3, 4, 5]

# append()の場合
list1 = [1, 2, 3]
list2 = [4, 5]
list1.append(list2)
print(list1)  # 出力: [1, 2, 3, [4, 5]]

extend()の実践的な使用例

複数のリストの連結

fruits = ['apple', 'banana']
vegetables = ['carrot', 'potato']
sweets = ['chocolate', 'candy']

# 複数のリストを連結
fruits.extend(vegetables)
fruits.extend(sweets)
print(fruits)  # 出力: ['apple', 'banana', 'carrot', 'potato', 'chocolate', 'candy']

イテラブルオブジェクトの追加

numbers = [1, 2, 3]
# タプルを追加
numbers.extend((4, 5))
print(numbers)  # 出力: [1, 2, 3, 4, 5]

# 文字列を追加
numbers.extend('67')
print(numbers)  # 出力: [1, 2, 3, 4, 5, '6', '7']

注意点とベストプラクティス

1. `extend()`は元のリストを変更します(破壊的メソッド)

2. メモリ効率が良く、大きなリストの連結に適しています

3. イテラブルオブジェクトであれば何でも追加可能です

代替手段

`extend()`の代わりに`+`演算子や`+=`演算子を使用することもできます:

list1 = [1, 2, 3]
list2 = [4, 5, 6]

# +演算子を使用
new_list = list1 + list2
print(new_list)  # 出力: [1, 2, 3, 4, 5, 6]

# +=演算子を使用
list1 += list2
print(list1)  # 出力: [1, 2, 3, 4, 5, 6]

まとめ

`extend()`メソッドは:

  • リストの連結に最適
  • メモリ効率が良い
  • 元のリストを直接変更する
  • イテラブルオブジェクトを追加可能

適切な使用により、Pythonでのリスト操作をより効率的に行うことができます。