Pythonのリストの要素を追加・削除する方法(append, remove, pop)
生徒
「Pythonでたくさんのデータをまとめて扱いたいときって、どうすればいいんですか?」
先生
「そんなときはリストという仕組みを使います。リストを使えば、複数のデータを1つにまとめて扱えるんですよ。」
生徒
「そのリストの中に、あとからデータを追加したり、いらないデータを消したりもできますか?」
先生
「もちろんできます!今日は、append、remove、popという3つのメソッドを使って、Pythonのリストに要素を追加したり削除したりする方法を学んでいきましょう。」
1. Pythonのリストとは?
まず、「リスト」というのは、Pythonで複数のデータを順番に並べてひとまとめにできる箱のようなものです。数字や文字、さらには他のリストなど、いろいろなデータを一つのリストに入れておけます。
リストは、[ ](かっこ)を使って作ります。たとえば、果物の名前をまとめたリストは次のように書けます。
fruits = ["りんご", "バナナ", "みかん"]
2. appendメソッドでリストに要素を追加する
append(アペンド)メソッドは、リストの最後にデータを追加したいときに使います。英語で「追加する」という意味があり、使い方はとても簡単です。
例として、「いちご」を追加してみましょう。
fruits = ["りんご", "バナナ", "みかん"]
fruits.append("いちご")
print(fruits)
['りんご', 'バナナ', 'みかん', 'いちご']
このように、appendを使えば新しいデータを簡単に追加できます。リストの「末尾」にだけ追加されるというのがポイントです。
3. removeメソッドでリストから要素を削除する
remove(リムーブ)メソッドは、リストの中から指定したデータを削除するのに使います。ただし、最初に見つかった1つだけが削除されます。
たとえば、「バナナ」を削除したい場合は次のように書きます。
fruits = ["りんご", "バナナ", "みかん", "バナナ"]
fruits.remove("バナナ")
print(fruits)
['りんご', 'みかん', 'バナナ']
リストに同じデータが2つ以上ある場合でも、最初に出てきた1つだけが削除されることに注意しましょう。
もし、削除しようとしたデータがリストに無かった場合、Pythonはエラーを出します。
4. popメソッドでリストから要素を取り出して削除する
pop(ポップ)メソッドは、リストからデータを取り出して同時に削除するメソッドです。
何も指定しない場合は、リストの最後のデータが削除されます。
fruits = ["りんご", "バナナ", "みかん"]
removed_item = fruits.pop()
print("取り出したデータ:", removed_item)
print(fruits)
取り出したデータ: みかん
['りんご', 'バナナ']
popは、指定した位置のデータを削除することもできます。その場合は、削除したいデータの番号(位置)をカッコの中に入れます。
fruits = ["りんご", "バナナ", "みかん"]
fruits.pop(0)
print(fruits)
['バナナ', 'みかん']
この例では、「0番目」、つまり一番最初の「りんご」が削除されました。
5. appendとremoveとpopの使い分け
ここまでで、リストのデータを追加したり、削除したりする3つの方法を学びました。
appendは、リストの最後にデータを追加したいときに使います。removeは、特定のデータを削除したいときに使います。popは、データを取り出しながら削除したいときに使います。
特にpopは、ゲームやアプリなどで「最後に追加したデータを取り出す」ような場面でとても便利です。
6. 応用:リストに数値や文字をどんどん追加する
リストは、プログラムの中で変化するデータをどんどん追加していくときにも便利です。
たとえば、ユーザーから数字を受け取って、それをリストに保存していくような処理もできます。
numbers = []
numbers.append(10)
numbers.append(20)
numbers.append(30)
print(numbers)
[10, 20, 30]
このようにして、あとから自由にデータを増やしていけるのがリストの大きな特徴です。
7. エラーを避けるために覚えておくべきこと
removeやpopを使うときは、対象のデータやインデックス(番号)が存在しないとエラーが出ます。
安全に使いたい場合は、削除する前に「そのデータがあるか?」や「リストが空でないか?」を確認すると良いでしょう。
fruits = []
if fruits:
fruits.pop()
else:
print("リストが空です。削除できません。")
リストが空です。削除できません。