第12回|Pythonのリスト操作入門:追加・変更・削除の基本(append・pop・remove) | はじめてのPython

当サイトでは、コンテンツの一部に広告を掲載しています。
第12回|Pythonのリスト操作入門:追加・変更・削除の基本(append・pop・remove) | はじめてのPython
目次

1. はじめに

この回では、リストの要素を追加したり、変更したり、削除したりする方法を学びます。前回は、リストに入っている値を取り出して使う方法を確認しました。

実際のプログラムでは、最初に作ったリストをあとから書き換える場面がよくあります。そのため、リストの基本操作を理解しておくことが重要です。

2. この回で学ぶこと

  • append() で要素を追加する方法
  • 添字を使って要素を変更する方法
  • pop() で要素を削除する方法
  • remove() で値を指定して削除する方法
  • 空のリストから始める方法

3. 概念の説明

リストは、作ったあとでも中身を変更できます。これを、リストは変更可能であると言います。

まず、末尾に要素を追加するときは append() を使います。

fruits = ["apple", "banana"]
fruits.append("orange")

print(fruits)

この結果は ['apple', 'banana', 'orange'] です。

次に、すでにある要素を変更するときは、添字を使って代入します。

fruits = ["apple", "banana", "orange"]
fruits[1] = "grape"

print(fruits)

このコードでは、添字 1"banana""grape" に変わります。

要素を削除するときは、pop()remove() を使い分けます。

pop() は、添字を指定して要素を削除します。

fruits = ["apple", "banana", "orange"]
fruits.pop(1)

print(fruits)

この結果は ['apple', 'orange'] です。

一方で remove() は、値を指定して最初に見つかった要素を削除します。

fruits = ["apple", "banana", "orange"]
fruits.remove("banana")

print(fruits)

この結果も ['apple', 'orange'] です。

また、最初は空のリストを作って、あとから要素を追加していくこともできます。

numbers = []
numbers.append(10)
numbers.append(20)

print(numbers)

この結果は [10, 20] です。

4. サンプルコード

次のコードを見てください。

fruits = []

fruits.append("apple")
fruits.append("banana")
fruits.append("orange")

print("追加後:", fruits)

fruits[1] = "grape"
print("変更後:", fruits)

fruits.pop(0)
print("pop後:", fruits)

fruits.remove("orange")
print("remove後:", fruits)

このコードでは、空のリストから始めて、追加、変更、削除を順番に確認しています。

5. 実行手順

まず、list_operations.py というファイルを作ります。

touch list_operations.py

list_operations.py をエディターで開き、次のコードを書いて保存します。

fruits = []

fruits.append("apple")
fruits.append("banana")
fruits.append("orange")

print("追加後:", fruits)

fruits[1] = "grape"
print("変更後:", fruits)

fruits.pop(0)
print("pop後:", fruits)

fruits.remove("orange")
print("remove後:", fruits)

保存したら、ターミナルで次のコマンドを実行します。

python3 list_operations.py

実行結果は次のようになります。

追加後: ['apple', 'banana', 'orange']
変更後: ['apple', 'grape', 'orange']
pop後: ['grape', 'orange']
remove後: ['grape']

6. コードの読み方

  • fruits = [] は、空のリストを作って変数 fruits に代入しています。
  • まだ要素は1つも入っていません。
  • fruits.append("apple") は、リストの末尾に "apple" を追加しています。
  • 同じように append() を続けて使うと、要素を後ろに増やせます。
  • fruits[1] = "grape" は、添字 1 の要素を "grape" に変更しています。
  • この時点では、fruits[1]"banana" なので、その値が置き換わります。
  • fruits.pop(0) は、添字 0 の要素を削除しています。
  • この例では、最初の "apple" が削除されます。
  • fruits.remove("orange") は、値が "orange" の要素を削除しています。
  • pop() は位置で削除し、remove() は値で削除する点が違います。

7. 初学者がつまずきやすい点

  • append() は末尾に追加する
  • 要素の変更は リスト名[添字] = 値 の形で書く
  • pop() は添字で削除する
  • remove() は値で削除する
  • 空のリストは [] で作れる

特に、pop(1)remove(1) は意味がまったく違います。pop(1) は添字 1 の要素を削除しますが、remove(1) は値が 1 の要素を削除します。

8. よくあるエラー

1つ目は、存在しない添字を使って変更や削除をしようとした場合です。

IndexError: list assignment index out of range

たとえば次のような書き方です。

fruits = ["apple", "banana"]
fruits[2] = "orange"

このリストの添字は 01 だけなので、fruits[2] は変更できません。

2つ目は、remove() で存在しない値を指定した場合です。

ValueError: list.remove(x): x not in list

たとえば次のような書き方です。

fruits = ["apple", "banana"]
fruits.remove("orange")

"orange" がリストに入っていないため、このエラーになります。

3つ目は、空のリストに対して pop() を使った場合です。

IndexError: pop from empty list

たとえば次のような書き方です。

numbers = []
numbers.pop()

要素がない状態では、削除する対象がありません。

9. 練習用コード

次のコードを practice_list_operations.py として保存して実行してください。

tasks = []

tasks.append("study")
tasks.append("write")
tasks.append("review")

tasks[0] = "python"
tasks.pop(1)

print(tasks)

実行したあとで、どの順番でリストの内容が変わったか確認してください。

余裕があれば、最後に tasks.remove("review") を追加して、結果がどう変わるか試してください。

10. この回で理解しておくこと

  • リストは作ったあとでも中身を変更できる
  • append() を使うと末尾に要素を追加できる
  • 添字を使うと特定の要素を変更できる
  • pop() は位置を指定して削除できる
  • remove() は値を指定して削除できる

11. まとめ

今回は、リストに要素を追加、変更、削除する基本操作を確認しました。リストは、データを順番に持つだけでなく、あとから中身を書き換えられる点が重要です。

append() pop() remove() と添字による変更は、今後のリスト処理で何度も使います。空のリストから始めてデータをためていく書き方も合わせて理解してください。

12. 次回予告

次回は、辞書を使って名前付きのデータを扱う方法を学びます。キーと値の組み合わせでデータを管理する基本を確認します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe マスター

Macintosh Color Classicから始まった旅は、長いWindows時代を経て、Windows10のサポート終了をきっかけにUNIXの世界へ戻ってきました。UNIX Cafeでは、UNIX・Linux・そしてMacな世界を、むずかしい言葉を使わず、物語のように書いています。プログラミングは、アイデアをコンピューターに伝えるための言葉です。簡単な単語と文法を覚えれば、誰でもコマンドを使えます。ぜひ一度、やさしいプログラミングの世界をのぞいてみてください。

Created by UNIX Cafe

目次