Pythonで生成したリストに要素を追加/削除/結合する際に使用するメソッドは複数あります。追加だけでもappendとinsert。削除は、remove、pop、delなど。今回はlistを更新する際によく使用するメソッドなどについて解説したいと思います。
リストに要素を追加する(append/insert)
リストの末尾に要素を追加する場合はappend
構文
リスト.append(値)
リストの末尾に新しい要素を追加するときはappendメソッドを使用します。
appendメソッドは、引数に指定された値を要素としてリストの末尾に追加されます。
l = ["A","B","C"]
#初期のリスト
print(l)
#リストの末尾に'D'を追加する
l.append("D")
print(l)
#実行結果 ['A', 'B', 'C'] ['A', 'B', 'C', 'D']
リストの任意の位置に要素を追加する場合はinsert
構文
リスト.insert(インデックス,値)
リストの任意の位置を指定して追加する場合はinsertメソッドを使用します。
末尾以外にリストを追加する場合に使用し、第1引数に追加する位置(インデックス),第2引数に値を指定します。appendは、リストの末尾に追加するメソッドですがinsertは、インデックスを任意で指定できるので好きな場所に追加することが可能です。インデックスの先頭は0から始まります。
l = ["織田信長","豊臣秀吉","徳川家康"]
#インデックス番号2番に'明智光秀'を追加(0から始まる)
l.insert(2,"明智光秀")
print(l)
#実行結果
['織田信長', '豊臣秀吉', '明智光秀', '徳川家康']
リストの要素を削除する(del/remove/pop)
del文を使用した削除
del リスト[インデックス]
リストを削除する方法は、主に3通りあります。その一つがdel構文です。
del文は,listからインデックスを指定して要素を削除することができます。あとから出てくるpopメソッドとの違いは,戻り値がないことです。
list = ["織田信長","豊臣秀吉","明智光秀","徳川家康"]
#0始まるの3番目の要素を削除(明智光秀)
del list[2]
print(list)
#実行結果
['織田信長', '豊臣秀吉', '徳川家康']
removeメソッドによる削除
list.remove(要素)
removeメソッドによる削除は指定した要素を削除することが可能です。仮に同じリスト内に複数の同じ要素があった場合は、最初に一致した要素が削除されます。
list = ["織田信長","豊臣秀吉","明智光秀","徳川家康","明智光秀"]
#要素"明智光秀"を削除する。末尾の"明智光秀"は削除されない
list.remove("明智光秀")
print(list)
#実行結果
['織田信長', '豊臣秀吉', '徳川家康', '明智光秀']
この場合は、listに”明智光秀”という要素が2つあります。特に指定がないのでインデックスの若い方から検索して最初に一致した3番目の要素になった”明智光秀”を削除しています。
popメソッドによる削除
list.pop(インデックス)
popメソッドは、削除の用途もありますが、その名の通り[取り出す]時に使用するメソッドです。
指定したインデックスの要素を削除して戻り値でその削除した要素を返すメソッドになっています。
list = ["織田信長","豊臣秀吉","明智光秀","徳川家康","明智光秀"]
#インデックス2の要素を削除すると削除した要素名が返ってくる
list.pop(2)["織田信長","豊臣秀吉","明智光秀","徳川家康","明智光秀"]
#実行結果(削除した要素が戻り値)
'明智光秀'
#popメソッド実行後のリスト内容を表示 print(list) #実行結果 ['織田信長', '豊臣秀吉', '徳川家康', '明智光秀']
リストの追加と削除は、それぞれ複数の方法で追加や削除ができます。用途によって使い分けるようにしましょう。
まとめ
- リストの追加はappendとinsertメソッドを使う
- リストの削除はdel構文、remove,popを使う
- appendメソッドは、末尾に指定した要素を追加
- insertメソッドは、インデックスを指定して任意の場所に要素を追加できる。
- del構文は、インデックスを指定して要素を削除する。
- del構文は、戻り値がない
- removeメソッドは、要素名を指定して削除する。削除した要素が複数存在する場合は最初に一致した要素が削除される。
- popメソッドは、指定したインデックスの要素が削除される。
- popメソッドは、戻り値として削除した要素名が返ってくる。
コメント