1. はじめに
本記事では、Pythonのextend()関数の使い方について解説します。
Pythonでリストに要素を追加する方法にはいくつかありますが、extend()
は複数の要素をまとめて追加できる便利な関数です。
特に、別のリストやイテラブルなデータ(タプル、集合、文字列など)をまとめてリストに取り込みたいときに役立ちます。
この記事を読むことで以下のポイントが学べます。
extend()
関数の基本的な使い方append()
との違い- よくある応用例と実務での活用方法
- エラーを避けるための注意点
2. Python|extend()関数の基本解説
extend()
関数は、リストに複数の要素を一度に追加するためのメソッドです。
基本構文は以下の通りです。
リスト.extend(追加するイテラブル)
イテラブルには、リスト・タプル・集合・文字列などを渡せます。
基本的なコード例
# extend()の基本例
fruits = ["apple", "banana"]
more_fruits = ["orange", "grape"]
# リストにリストを追加(要素単位で展開される)
fruits.extend(more_fruits)
print(fruits)
実行結果:
['apple', 'banana', 'orange', 'grape']
このように、extend()
を使うとリストが展開され、1つずつの要素として追加されます。
これがappend()
との大きな違いです。
append()との違い
append()
はリストそのものを1要素として追加するのに対し、extend()
は要素を展開して追加します。
# append()を使用
fruits = ["apple", "banana"]
fruits.append(["orange", "grape"])
print(fruits) # ネストされたリストが追加される
# extend()を使用
fruits = ["apple", "banana"]
fruits.extend(["orange", "grape"])
print(fruits) # 要素が展開されて追加される
実行結果:
['apple', 'banana', ['orange', 'grape']]
['apple', 'banana', 'orange', 'grape']
この違いを理解しておくことで、用途に応じて適切に使い分けられます。
3. よくある使い方・応用例
リストの結合
リストを結合する際にextend()
を利用すると、簡単にまとめることができます。
# 複数のリストをまとめる
list1 = [1, 2, 3]
list2 = [4, 5]
list3 = [6, 7]
# list1にlist2とlist3の要素を追加
list1.extend(list2)
list1.extend(list3)
print(list1)
実行結果:
[1, 2, 3, 4, 5, 6, 7]
文字列を分解して追加
文字列はイテラブルとして扱えるため、extend()
で文字単位に展開して追加できます。
letters = ["a", "b"]
letters.extend("cd") # 文字列を展開して追加
print(letters)
実行結果:
['a', 'b', 'c', 'd']
集合(set)を追加
set
もイテラブルとして扱えるので、extend()
で要素を追加できます。
numbers = [1, 2, 3]
extra = {4, 5, 6}
numbers.extend(extra)
print(numbers)
実行結果:
[1, 2, 3, 4, 5, 6]
このように、異なるイテラブルから要素をまとめたい場合に便利です。
実務での活用例
- ログファイルやCSVのデータをまとめてリストに格納
- スクレイピングで取得した複数ページの結果を1つのリストに集約
- ループ処理の中でデータをまとめて追加
4. 注意点・エラー対策
イテラブル以外を渡すとエラー
extend()
にはイテラブル(リスト、タプル、文字列など)しか渡せません。
数値をそのまま渡すとエラーになります。
nums = [1, 2, 3]
nums.extend(4) # 数値はイテラブルではない
実行結果:
TypeError: 'int' object is not iterable
この場合、リストに包んで渡す必要があります。
nums = [1, 2, 3]
nums.extend([4]) # リストにして渡す
print(nums)
実行結果:
[1, 2, 3, 4]
append()と誤用しない
単一要素を追加したい場合はappend()
を使いましょう。
extend()
は複数要素を追加するためのものです。
5. まとめ
本記事ではPythonのextend()関数の使い方を解説しました。
重要なポイントは以下の通りです。
extend()
はリストに複数の要素を追加できるappend()
はリストそのものを追加するため挙動が異なる- リスト・タプル・集合・文字列などイテラブルを渡せる
- 数値を直接渡すとエラーになるため注意
実務では、データの統合や複数リストの結合で大いに役立ちます。
Python学習を進める上で、extend()
をしっかり理解しておくとリスト操作がよりスムーズになるでしょう。