Pythonを使い始めた方にとって、リストの操作は非常に重要なスキルです。その中でも特に頻繁に使うのがappend()
メソッドです。リストに要素を追加するためのこのシンプルなメソッドは、データの蓄積や繰り返し処理など、あらゆる場面で活躍します。本記事では、Pythonのappend()
の基本的な使い方から応用例、よくあるエラーや注意点まで、初心者にもわかりやすく丁寧に解説していきます。この記事を読めば、append()
の正しい使い方を身につけ、Pythonでのプログラミングがもっと楽しくなることでしょう。
append()とは何か?
append()
は、Pythonのリスト型に対して使えるメソッドの一つで、「リストの末尾に要素を追加する」ために使われます。
fruits = ['apple', 'banana']
fruits.append('orange')
print(fruits) # ['apple', 'banana', 'orange']
このように、リストの末尾に1つの要素を簡単に追加できます。基本構文は以下のとおりです:
リスト名.append(追加したい要素)
基本的なappendの使い方
数値を追加する
numbers = [1, 2, 3]
numbers.append(4)
print(numbers) # [1, 2, 3, 4]
文字列を追加する
names = ['Taro', 'Hanako']
names.append('Jiro')
print(names) # ['Taro', 'Hanako', 'Jiro']
リストを追加する(注意点あり)
a = [1, 2]
b = [3, 4]
a.append(b)
print(a) # [1, 2, [3, 4]]
この場合、a
の末尾にリストb
全体が「1つの要素」として追加されます。個別に要素を追加したい場合は後述するextend()
を使います。
appendとextendの違い
初心者が混乱しがちなのが、append()
とextend()
の違いです。
a = [1, 2]
b = [3, 4]
a.append(b)
print(a) # [1, 2, [3, 4]] ← リストbがまるごと追加される
a = [1, 2]
a.extend(b)
print(a) # [1, 2, 3, 4] ← リストbの要素が個別に追加される
append()
はリスト全体を1つの要素として追加extend()
は中身を展開して追加
ループとappendの組み合わせ
データを動的にリストに追加していくとき、for
ループとappend()
は非常に便利です。
squares = []
for i in range(5):
squares.append(i * i)
print(squares) # [0, 1, 4, 9, 16]
処理結果を順次リストに格納することで、後で一括してデータを扱うことができます。
条件付きでappendする
even_numbers = []
for i in range(10):
if i % 2 == 0:
even_numbers.append(i)
print(even_numbers) # [0, 2, 4, 6, 8]
if
文を組み合わせることで、条件を満たしたものだけを追加することが可能です。
オブジェクトや辞書をappendする
Pythonでは、辞書やオブジェクト(クラスのインスタンス)もリストに追加できます。
users = []
users.append({'name': 'Taro', 'age': 30})
users.append({'name': 'Hanako', 'age': 25})
print(users)
# [{'name': 'Taro', 'age': 30}, {'name': 'Hanako', 'age': 25}]
WebスクレイピングやAPIで取得したデータを扱う場面でよく使われます。
よくあるエラーと注意点
Noneが返ると思ってしまう
append()
は値を返しません。リストに追加するだけで、何も返ってきません。
a = [1, 2, 3]
result = a.append(4)
print(result) # None
リスト自体を確認したい場合は、print(a)
などで確認しましょう。
複数の値を一度に追加したいとき
a = [1, 2]
a.append(3, 4) # エラー:TypeError
このように、複数の引数を渡すことはできません。一つずつappend()
するか、extend()
を使いましょう。
appendの応用例:動的な入力をリストに格納
data = []
print("数字を入力してください(終了するにはq):")
while True:
val = input(">> ")
if val == 'q':
break
if val.isdigit():
data.append(int(val))
print("入力された数字一覧:", data)
このように、ユーザーの入力をリアルタイムでリストに追加することで、柔軟な処理が可能になります。
まとめ:appendはPythonの基礎中の基礎!
Pythonでリストを扱うなら、append()
の使い方は必ずマスターすべきです。以下にポイントを整理しておきましょう。
append()
はリストの末尾に1つの要素を追加- 追加されるのは「1つの要素」として認識される
- リスト内にリストを追加する場合はそのままネストされる
- 複数要素を一気に追加したい場合は
extend()
を使う - 戻り値は
None
なので注意
プログラムが複雑になるほど、append()
の出番は増えていきます。この記事を参考に、自分のコードに活かしていってください!