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でのリスト操作をより効率的に行うことができます。