YutaKaのPython教室

Python の文法やライブラリ、API、環境構築について画像・動画・ソースコード付きで徹底解説!

【解説動画あり】リスト要素の追加と削除|Python超入門シリーズ【第10回】

【解説動画あり】リスト要素の追加と削除|5min. Python【第10回】

リスト内の要素の追加と削除を行うためのメソッドをそれぞれ解説します。

リストの基本を知りたい方は、こちらの記事もご覧ください!

動画で解説

【解説動画】リスト要素の追加と削除


5min. Python解説動画【入門編】|第10回目:リスト要素の追加と削除

要素の追加

リストに要素を追加する方法は、主に次の3種類があります。

  • append()メソッド:リストの末尾に要素を1つ追加
  • insert()メソッド:指定した位置に要素を1つ追加
  • extend()メソッド:別のリストの要素を末尾に追加

それぞれの使い方について、見ていきましょう。

append(x):xをリストの末尾に追加

要素を末尾に追加することができます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.append("potato")
print(shopping_list)
# ⇒ ['apple', 'tomato', 'carrot', 'potato']

追加位置が末尾で良い場合には、手軽に実行できるので使用頻度も多いと思います。

insert(i, x):インデックスiの位置にxを追加

追加位置を指定したい場合には、insert()メソッドを使用しましょう。

インデックスiの位置に、xが追加されます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.insert(0, "lemon") # インデックス0の位置に追加
print(shopping_list)# ⇒ ['apple', 'tomato', 'carrot', 'potato']
# ⇒ ['lemon', 'apple', 'tomato', 'carrot']
shopping_list.insert(2, "orenge") # インデックス2の位置に追加
# ⇒ shopping_list.insert(2, "orenge")

extend(t):別のリストtの要素を末尾に追加

2つのリストを結合すると捉えることもできます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list_2 = ["lemon", "orange"]
shopping_list.extend(shopping_list_2)
print(shopping_list)
# ⇒ ['apple', 'tomato', 'carrot', 'lemon', 'orange']

実はextend()メソッドのかわりに、で結合することもできます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list_2 = ["lemon", "orange"]
shopping_list += shopping_list_2 
# shopping_list = shopping_list + shopping_list_2と同じ意味
print(shopping_list)

# ⇒ ['apple', 'tomato', 'carrot', 'lemon', 'orange']

どちらでも結果は同じですが、個人的には+だと数値の足し算と見分けがつかないので、extend()メソッドの方が好きです。

リストを結合したいならappend()やinsert()は使用しない

extend()メソッドで実行したように、2つのリストを結合したい場合には、append()insert()メソッドは不適なので注意しましょう。

次の例のように、リスト内リストになってしまいます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list_2 = ["lemon", "orange"]
shopping_list.append(shopping_list_2) 
print(shopping_list)
# ⇒ ['apple', 'tomato', 'carrot', ['lemon', 'orange']]

リスト内リストを作成したい場合には良いですが、要素を追加したい場合には望まない結果ですね。

要素の削除

リストから要素を削除する方法は、主に次の3種類があります。

  • remove()メソッド:要素名を指定して削除
  • pop()メソッド:指定したインデックスの要素を削除(取り出す)
  • clear()メソッド:要素を全て削除
  • del文:要素を削除

それぞれの使い方について、見ていきましょう。

remove(x): xをリストから削除

要素名を指定して削除します。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.append("potato")
print(shopping_list)
# ⇒ ['apple', 'tomato', 'carrot', 'potato']

存在しない要素を削除しようとするとエラーになるので注意しましょう。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.remove("orange")
# ⇒ ValueError: list.remove(x): x not in list

pop(i): インデックスiの位置の要素を削除

インデックスを指定して削除します。引数を省略すると、最後の要素を削除します。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.pop(0)
print(shopping_list)
# ⇒ ['tomato', 'carrot']
shopping_list.pop() # インデックスを省略
print(shopping_list)
# ⇒ ['tomato'] #最後の要素が削除された

また、pop()では削除した要素を変数に受け取ることができます。

shopping_list = ["apple", "tomato", "carrot"]
removed_item = shopping_list.pop()
print(removed_item)
# ⇒ carrot

popという英語には飛び出すようなイメージがあるので、それを変数で受け取るといったかんじでしょうか。

clear(): 要素を削除

リストのメソッドではなく、del文を使用して要素を削除することもできます。

shopping_list = ["apple", "tomato", "carrot"]
shopping_list.clear()
print(shopping_list)
# ⇒ []

ここで[]は空のリストを意味しています。

del文: 要素を削除

del文は変数を削除するために使用できますが、リストの要素を削除することもできます。

削除したいリストの要素を、スライスしてdel文に渡します。

shopping_list = ["apple", "tomato", "carrot", "orange"]
del shopping_list[2:]
print(shopping_list)
# ⇒ ['apple', 'tomato']

複数の要素を削除する際に便利ですね。

おわりに

今回はリスト要素の追加と削除について紹介しました!

5min. python動画解説では、pythonの基本をショートクリップで解説しています!

流し見するだけでpythonをマスターできる動画シリーズを目指しています。

5min. python解説動画