Pythonで作った配列の中で、不要な要素が出てきてしまった…。
配列から要素を削除する方法を教えて!
あいよ!
初心者でも使いやすいものを3つ紹介するよ!
Pythonの配列から要素を削除する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
Pythonの配列から要素を削除するには
代表的には以下3つの方法があります。
- del
- remove
- pop
まず、配列とは何かを見ていきましょう。
配列とは
配列とは、単語や数字などの要素を1つ入れることができる箱が集まったものです。
配列の基礎や作成方法は、下記記事でわかりやすく解説しております。
気になった方はご覧ください。
要素の削除方法
要素の削除について
「要素を削除する」とはどういうことなのでしょうか。
配列の基礎と同様に配列を「タンス」で例えて解説していきます。
タンスの一番上の引き出しに「靴下」、2段目に「シャツ」、
3段目に「パンツ」が入っているとします。
そこから「シャツ」を抜き取って引き出しを空っぽにすることを、
配列では要素を削除するといいます。
配列では、途中の引き出しが空っぽになることはありませんので、
次の要素が順次ズレて詰まった状態になります。
(タンスでは、3段目の「パンツ」が2段目に入ります)
では、要素を削除する方法を解説いたします。
関連記事として、配列に要素を追加する方法を解説しております。
del
「del」を使用することで、要素を削除することができます。
2番目(要素番号1)の「シャツ」を削除してみましょう。
my_list = ['靴下', 'シャツ', 'パンツ']
del my_list[1]
print(my_list)
#実行結果:['靴下', 'パンツ']
【 del 配列の入った変数[削除したい要素の番号] 】
1番目の「靴下」を削除したい場合は、要素番号は「0」を指定してください。
要素が文字列の場合は、「’(クォーテーション)」で囲ってください。
数字の場合は囲わなくて大丈夫です。
['靴下', 'シャツ', 'パンツ']
[0, 1, 2]
要素番号「-1」を指定することで、一番後ろの要素を削除することができます。
my_list = ['靴下', 'シャツ', 'パンツ']
del my_list[-1]
print(my_list)
#実行結果:['靴下', 'シャツ']
「-2」なら後ろから2番目、「-3」なら後ろから3番目という具合です。
複数の要素を一度に削除したい場合、範囲を指定して削除することができます。
少し難しいので、覚えなくても大丈夫です。
my_list = ['靴下', 'シャツ', 'パンツ', '手袋']
del my_list[2:] #要素番号2(パンツ)を含む、それ以降を削除
print(my_list)
#実行結果:['靴下', 'シャツ']
my_list = ['靴下', 'シャツ', 'パンツ', '手袋']
del my_list[:1] #要素番号1(シャツ)を含む、それ以前を削除
print(my_list)
#実行結果:['パンツ', '手袋']
my_list = ['靴下', 'シャツ', 'パンツ', '手袋']
del my_list[1:3] #要素番号1(シャツ)を含む、要素番号3未満(手袋は含まない)を削除
print(my_list)
#実行結果:['靴下', '手袋']
飛び飛びで複数の要素を削除する方法もありますが、さらに難しくなるため本記事では割愛します。
remove
「remove()」を使用することで、要素名を指定して削除することができます。
delと同じく「シャツ」を削除してみましょう。
my_list = ['靴下', 'シャツ', 'パンツ']
my_list.remove('シャツ')
print(my_list)
#実行結果:['靴下', 'パンツ']
【 配列の入った変数.remove(削除したい要素名) 】
同じ要素が複数あった場合は、最初の1つだけが削除されます。
my_list = ['靴下', 'シャツ', 'パンツ', 'シャツ']
my_list.remove('シャツ')
print(my_list)
#実行結果:['靴下', 'パンツ', 'シャツ']
複数の要素を削除することはできません。
複数の要素を削除したい場合は、上記作業を繰り返してください。
pop
「del」「remove()」は要素を削除するだけでしたが、
「pop()」を使用することで、要素を抜き取ることができます。
「my_list」から「靴下」を抜き取って、「my_bag」に入れてみましょう。
my_list = ['靴下', 'シャツ', 'パンツ']
my_bag = my_list.pop(0)
print(my_list)
print(my_bag)
#実行結果:
['シャツ', 'パンツ']
靴下
【 抜き取ったものを入れる変数 = 配列の入った変数.pop(抜き取りたい要素番号) 】
※複数の要素を抜き取ることはできません。
最後に
Pythonの配列から要素を削除する方法を解説いたしました。
- 要素番号で削除する「del」
- 要素名で削除する「remove()」
- 要素を抜き取る「pop()」
最後までお読みいただき、ありがとうございました。がんばってください!