「リストに新しい値を追加したい」
「appendってよく聞くけど、どう使うの?」
Pythonでプログラムを書くとき、最もよく使う機能の一つがappend()
です。
これは、リストの一番最後に新しい要素を1つ追加するためのメソッドです。
この記事では、append()
の使い方から注意点、よくある間違いまで、初心者の方にもわかりやすく解説します。
appendの基本的な使い方

リストの最後に要素を追加する
append()
を使うと、既存のリストの最後に新しい要素を追加できます。
fruits = ["りんご", "バナナ"]
fruits.append("オレンジ")
print(fruits)
実行結果:
['りんご', 'バナナ', 'オレンジ']
とても簡単ですね。append()
は「リストの最後に1つだけ要素を追加する」機能です。
いろいろなデータ型を追加できる
append()
では、文字列だけでなく、数字やリストなど、どんなデータ型でも追加できます。
my_list = []
my_list.append(1) # 数字を追加
my_list.append("文字") # 文字を追加
my_list.append([1, 2]) # リストを追加
print(my_list)
実行結果:
[1, '文字', [1, 2]]
appendの重要な特徴
appendは何も値を返さない
append()
を使うとき、注意したいポイントがあります。
fruits = ["りんご", "バナナ"]
result = fruits.append("オレンジ")
print(result) # None が表示される
print(fruits) # ['りんご', 'バナナ', 'オレンジ'] が表示される
実行結果:
None
['りんご', 'バナナ', 'オレンジ']
なぜresult
がNone
になるのでしょうか?
それは、append()
が元のリストを直接変更するメソッドだからです。
新しいリストを作るのではなく、既存のリストに要素を追加します。このような操作を「破壊的変更」と呼びます。
元のリストが変わることを確認
numbers = [1, 2, 3]
print(f"追加前: {numbers}")
numbers.append(4)
print(f"追加後: {numbers}")
実行結果:
追加前: [1, 2, 3]
追加後: [1, 2, 3, 4]
このように、numbers
という変数のリスト自体が変更されています。
よくある間違いと正しい方法

間違い:複数の要素を一度に追加しようとする
初心者がよくやってしまう間違いがこちらです。
fruits = ["りんご", "バナナ"]
fruits.append(["メロン", "キウイ"])
print(fruits)
実行結果:
['りんご', 'バナナ', ['メロン', 'キウイ']]
これは期待した結果ではありませんね。リストの中にリストが入ってしまいました。
正しい方法:extendを使う
複数の要素を一度に追加したいときは、extend()
を使います。
fruits = ["りんご", "バナナ"]
fruits.extend(["メロン", "キウイ"])
print(fruits)
実行結果:
['りんご', 'バナナ', 'メロン', 'キウイ']
appendとextendの違い
メソッド | 動作 | 使う場面 |
---|---|---|
append(x) | xを1つの要素として最後に追加 | 1つの要素を追加したいとき |
extend([x, y]) | リストの中身を展開して追加 | 複数の要素を一度に追加したいとき |
appendの実用的な使い方
空のリストに順番に追加
numbers = []
for i in range(5):
numbers.append(i)
print(numbers)
実行結果:
[0, 1, 2, 3, 4]
条件に合う要素だけを追加
even_numbers = []
for i in range(10):
if i % 2 == 0: # 偶数の場合
even_numbers.append(i)
print(even_numbers)
実行結果:
[0, 2, 4, 6, 8]
ユーザーからの入力を蓄積
shopping_list = []
# 3つの商品を入力してもらう例
for i in range(3):
item = input(f"{i + 1}つ目の商品を入力してください: ")
shopping_list.append(item)
print("買い物リスト:", shopping_list)
二次元リストの作成
matrix = []
for i in range(3):
row = []
for j in range(3):
row.append(i * j)
matrix.append(row)
print(matrix)
実行結果:
[[0, 0, 0], [0, 1, 2], [0, 2, 4]]
その他のリスト追加メソッド

insertで好きな位置に追加
append()
は最後にしか追加できませんが、insert()
を使えば好きな位置に要素を追加できます。
fruits = ["りんご", "バナナ", "オレンジ"]
fruits.insert(1, "ぶどう") # 1番目(2番目の位置)に挿入
print(fruits)
実行結果:
['りんご', 'ぶどう', 'バナナ', 'オレンジ']
各メソッドの使い分け
メソッド | 書き方 | 動作 | 使い分け |
---|---|---|---|
append() | list.append(x) | 最後にxを1つ追加 | 基本的な追加操作 |
extend() | list.extend([x, y]) | 複数要素を展開して追加 | 複数要素の一括追加 |
insert() | list.insert(位置, x) | 指定位置にxを挿入 | 特定位置への挿入 |
よくある質問

appendの戻り値を使ってしまった場合
# 間違った使い方
fruits = ["りんご"]
fruits = fruits.append("バナナ") # これはダメ!
print(fruits) # None になってしまう
# 正しい使い方
fruits = ["りんご"]
fruits.append("バナナ") # 戻り値は使わない
print(fruits) # ['りんご', 'バナナ']
文字列にappendはできない
リストのメソッドなので、文字列には使えません。
text = "hello"
text.append("world") # エラーになる
文字列の場合は、+
演算子やjoin()
メソッドを使います。
text = "hello"
text = text + " world"
print(text) # "hello world"
まとめ
append()
は、Pythonでリストを扱うときの基本中の基本となるメソッドです。
重要なポイント
append()
はリストの最後に1つの要素を追加する- 戻り値は
None
で、元のリストが直接変更される - 複数要素を追加したいときは
extend()
を使う - どんなデータ型でも追加できる
覚えておきたい使い分け
- 1つ追加:
append()
- 複数追加:
extend()
- 指定位置に追加:
insert()
append()
をマスターすることで、リストを使ったプログラムがぐっと書きやすくなります。
たくさん練習して、自然に使えるようになりましょう!
リスト操作は、Pythonプログラミングの基礎となる重要なスキルです。この記事で学んだことを実際のコードで試してみてください。
コメント