【Python】pop()でリスト(List)などで指定した要素を取り除く!
Pythonのpop()を使用することで、リスト(List)などで指定した要素を削除することができます。
pop()とは指定した要素を取り除くことができる関数であり、イテレータ(リストなど)に格納されている要素や値を取り除くことができます。
そして、辞書はpop()のパラメータにインデックスではなく、辞書のキーを指定することで値を取り除くことができます。
それに対して、タプルはイミュータブルな型なので要素を取り除くことができず、set型はインデックスが付与されていなので値を取り除くことができません。
また、pop()は2次元や3次元nのような多次元のイテレータの要素や値を取り除くこともできます。
今回はPythonのpop()でリスト(List)などで指定した要素を取り除く方法について以下の内容で解説していきます。
⚫︎ リスト(list)で指定した要素を取り除く場合
⚫︎ タプル(tuple)で指定した要素を取り除く場合
⚫︎ 辞書(dict)で指定した要素を取り除く場合
⚫︎ set型で指定した要素を取り除く場合
⚫︎ 2次元リスト(list)の要素を取り除く場合
⚫︎ 3次元リスト(list)の要素を取り除く場合
目次
pop()とは
pop()とは指定した要素を取り除くことができる関数になります。
pop()の書き方
pop()の書き方は下記となります。
1 |
リストなどの変数名 = pop(削除したい要素のインデックス) |
pop()のパラメータ
⚫︎ 削除したい要素のインデックス:
リストなどのイテレータから取り除きたい要素をインデックスで指定する
pop()のパラメータにに削除したい要素のインデックスを指定することでリストなどのイテレータの要素を取り除くことができます、
リスト(List)などで指定した要素を取り除くサンプルコード
リスト(List)などで指定した要素を取り除くサンプルコードを紹介します。
リスト(list)で指定した要素を取り除く場合
pop()を使用して、リスト(list)で指定した要素を取り除いてみます。
例
1 2 3 4 5 6 |
songs = ['そばかす', 'Over Drive', 'くじら12号', 'ラッキープール', '散歩道', 'BLUE TEARS', '小さな頃から'] print(songs) print('・pop()でリストの要素を取り除く') print('取り出す値:', songs.pop(0)) print(songs) |
出力結果
[‘そばかす’, ‘Over Drive’, ‘くじら12号’, ‘ラッキープール’, ‘散歩道’, ‘BLUE TEARS’, ‘小さな頃から’]
・pop()でリストの要素を取り除く
取り出す値: そばかす
[‘Over Drive’, ‘くじら12号’, ‘ラッキープール’, ‘散歩道’, ‘BLUE TEARS’, ‘小さな頃から’]
pop()関数によって指定した要素を取り除くことができます。
その為、songsに格納されていた「そばかす」が取り除かれて表示されています。
タプル(tuple)で指定した要素を取り除く場合
pop()を使用して、タプル(tuple)で指定した要素を取り除いてみます。
例
1 2 3 4 5 6 |
songs = ('そばかす', 'Over Drive', 'くじら12号', 'ラッキープール', '散歩道', 'BLUE TEARS', '小さな頃から') print(songs) print('・pop()でタプル要素を取り除く') print('取り出す値:', songs.pop(1)) print(songs) |
出力結果
AttributeError: ‘tuple’ object has no attribute ‘pop’
タプルはイミュータブルな型のいイテレータである為、pop()で要素を取り除くことができません。
辞書(dict)で指定した要素を取り除く場合
pop()を使用して、辞書(dict)で指定した要素を取り除いてみます。
例
1 2 3 4 5 6 7 8 9 10 11 |
songs1 = {1: 'そばかす', 2: 'Over Drive', 3: 'くじら12号', 4: 'ラッキープール', 5: '散歩道', 6: 'BLUE TEARS', 7: '小さな頃から'} print(songs1) songs2 = {'A': 'そばかす', 'B': 'Over Drive', 'C': 'くじら12号', 'D': 'ラッキープール', 'E': '散歩道', 'F': 'BLUE TEARS', 'G': '小さな頃から'} print(songs2) print('・pop()で辞書の値を取り除く') print('取り出す値:', songs1.pop(3)) print(songs1) print('取り出す値:', songs2.pop('E')) print(songs2) |
出力結果
{1: ‘そばかす’, 2: ‘Over Drive’, 3: ‘くじら12号’, 4: ‘ラッキープール’, 5: ‘散歩道’, 6: ‘BLUE TEARS’, 7: ‘小さな頃から’}
{‘A’: ‘そばかす’, ‘B’: ‘Over Drive’, ‘C’: ‘くじら12号’, ‘D’: ‘ラッキープール’, ‘E’: ‘散歩道’, ‘F’: ‘BLUE TEARS’, ‘G’: ‘小さな頃から’}
・pop()で辞書の値を取り除く
取り出す値: くじら12号
{1: ‘そばかす’, 2: ‘Over Drive’, 4: ‘ラッキープール’, 5: ‘散歩道’, 6: ‘BLUE TEARS’, 7: ‘小さな頃から’}
取り出す値: 散歩道
{‘A’: ‘そばかす’, ‘B’: ‘Over Drive’, ‘C’: ‘くじら12号’, ‘D’: ‘ラッキープール’, ‘F’: ‘BLUE TEARS’, ‘G’: ‘小さな頃から’}
辞書の場合は、pop()のパラメータが辞書のキーに対する値を取り除くようになります。
set型で指定した要素を取り除く場合
pop()を使用して、set型で指定した要素を取り除いてみます。
例
1 2 3 4 5 6 |
songs = {'そばかす', 'Over Drive', 'くじら12号', 'ラッキープール', '散歩道', 'BLUE TEARS', '小さな頃から'} print(songs) print('・pop()でset型の値を取り除く') print('取り出す値:', songs.pop(1)) print(songs) |
出力結果
TypeError: pop() takes no arguments (1 given)
se型は要素にインデックスが付与されていない為、pop()で要素を削除することはできません。
多次元リスト(List)などで指定した要素を取り除くサンプルコード
先ほどまでは、1次元のイテレータに対してpop()を使用しましたが、次は、2次元や3次元のような多次元のスト(List)などで指定した要素を取り除くサンプルコードをリスト(List)で紹介します。
2次元リスト(list)の要素を取り除く場合
pop()を使用して、2次元リスト(list)の要素を取り除いてみます。
例
1 2 3 4 5 6 7 |
songs = [['花火', 'カブトムシ'],['ボーイフレンド', 'milk'], ['キラキラ', '初恋', 'アンドロメダ']] print(songs) print('・pop()で2次元リストの要素を取り除く') print('取り出す値:', songs[0].pop(1)) print('取り出す値:', songs[1].pop(1)) print(songs) |
出力結果
[[‘花火’, ‘カブトムシ’], [‘ボーイフレンド’, ‘milk’], [‘キラキラ’, ‘初恋’, ‘アンドロメダ’]]
・pop()で2次元リストの要素を取り除く
取り出す値: カブトムシ
取り出す値: milk
[[‘花火’], [‘ボーイフレンド’], [‘キラキラ’, ‘初恋’, ‘アンドロメダ’]]
pop()によって2次元リストで指定した要素を取り除いています。
3次元リスト(list)の要素を取り除く場合
pop()を使用して、3次元リスト(list)の要素を取り除いてみます。
例
1 2 3 4 5 6 7 8 9 10 |
songs = [ [['花火', 'カブトムシ'],['ボーイフレンド', 'milk']], [['キラキラ', '初恋', 'アンドロメダ'],['あたしの向こう', '恋をしたのは']] ] print(songs) print('・pop()で3次元のリストを取り除く') print('取り出す値:', songs[0][1].pop(1)) print('取り出す値:', songs[1][1].pop(1)) print(songs) |
出力結果
[[[‘花火’, ‘カブトムシ’], [‘ボーイフレンド’, ‘milk’]], [[‘キラキラ’, ‘初恋’, ‘アンドロメダ’], [‘あたしの向こう’, ‘恋をしたのは’]]]
・pop()で3次元のリストを取り除く
取り出す値: milk
取り出す値: 恋をしたのは
[[[‘花火’, ‘カブトムシ’], [‘ボーイフレンド’]], [[‘キラキラ’, ‘初恋’, ‘アンドロメダ’], [‘あたしの向こう’]]]
pop()によって3次元リストで指定した要素を取り除いています。
今回のポイント
pop()でリスト(list)などで指定した要素を取り除く
⚫︎ Pythonのpop()でリスト(List)などで指定した要素を取り除くことができる
⚫︎ pop()はリスト(list)で指定した要素を取り除くことができる
⚫︎ pop()はタプル(tuple)で指定した要素を取り除くことができない
⚫︎ pop()は辞書(dict)で指定した要素を取り除くことができる
(pop()パラメータはインデックスではなく、辞書のキーとなる)
⚫︎ pop()はset型で指定した要素を取り除くことができない
(set型はインデックスが付与されていない為)
⚫︎ pop()は多次元のイテレータで指定した要素を取り除くことができる
関連記事
del文でリスト(List)などの要素を削除する方法についてはこちらをご参考ください。
remove()でリスト(List)の要素を削除する方法についてはこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。