【Python入門】listのappendとは?使い方・注意点・よくある間違いまでやさしく解説!

python

「リストに新しい値を追加したい」
「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
['りんご', 'バナナ', 'オレンジ']

なぜresultNoneになるのでしょうか?

それは、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プログラミングの基礎となる重要なスキルです。この記事で学んだことを実際のコードで試してみてください。

コメント

タイトルとURLをコピーしました