前回の記事でリストの作り方と使い方を取り上げました。今回はリストの要素の変更、追加とリスト同士の結合について取り上げます。
リストはリスト内の要素を変更可能です。このように変更可能な事をミュータブル(mutable、日本語訳:変更可能な)といい、「リストはミュータブルだ」などといいます。では実際に要素を変更したり、追加したり、してみましょう。
リストの要素の変更
リストの要素の変更を行う時は、変更するインデックス値と変更後の要素を指定します。
例えば、下記リストのcrab(インデックス値:1)をshrimpに変更したいとすると、次のようにコードを書くと変更できます。
animals = ["monkey","crab","crocodile"]
animals[1] = "shrimp"
print(animals)
【実行結果】
['monkey', 'shrimp', 'crocodile']リストanimalsのcrabがshrimpに変更されました。
リストの要素の追加
リストの要素の追加にはappend()メソッドを使う方法とinsert()メソッドを使う方法があります。それぞれについて見ていきます。
append()メソッド(要素の追加)
メソッドを使う時は、[対象のオブジェクト].メソッド名(引数) です。今回の対象オブジェクトはanimals、メソッド名はappend()、引数は追加する要素を書けばOKです。append()メソッドでは、リストの末尾に要素が追加されます。
先ほどのリストに、shrimpを追加してみましょう。
animals = ["monkey","crab","crocodile"]
animals.append("shrimp")
print(animals)
【実行結果】
['monkey', 'crab', 'crocodile', 'shrimp']リストanimalsの末尾に要素にshrimpが追加されました。
insertメソッド()(要素の追加)
append()メソッドでは末尾に要素が追加されましたが、insert()メソッドでは、追加したい箇所と追加する要素を指定することができます。メソッドはinsert(i,x)と書き、インデックスi番目にxを追加する、と指定できます。追加する前にリストにあったi番目の要素はi + 1番目に移動し、それ以降ずれていきます。
では、先ほど同じリストを用いてshrimpを色々な位置に追加してみます。リストのインデックスは0から始まっていることに注意です。
#1
animals= ["monkey","crab","crocodile"]
animals.insert(0,"shrimp")
print(animals)
【実行結果】
['shrimp', 'monkey', 'crab', 'crocodile']#2
animals = ["monkey","crab","crocodile"]
animals.insert(1,"shrimp")
print(animals)
【実行結果】
['monkey', 'shrimp', 'crab', 'crocodile']#3
animals = ["monkey","crab","crocodile"]
animals.insert(2,"shrimp")
print(animals)
【実行結果】
['monkey', 'crab', 'shrimp', 'crocodile']#4
animals = ["monkey","crab","crocodile"]
animals.insert(3,"shrimp")
print(animals)
【実行結果】
['monkey', 'crab', 'crocodile', 'shrimp']色々な箇所にshrimpを挿入してみましたが、どこもエラーがでることなく、挿入することができました。
extend()メソッド
リストに一気に要素を追加したい場合、上記のappend()メソッドやinsert()メソッドを何回も使わなくても、extend()メソッドを使うと一気に追加することができます。
ただ、extend()メソッドは引数の別のリストをリストに追加するメソッドなので、引数にはリストを書かなくてはなりません。
animals = ["monkey","crab","crocodile"]
animals.extend(["shrimp","tiger"])
print(animals)
【実行結果】
['monkey', 'crab', 'crocodile', 'shrimp', 'tiger']リストの結合
リストに要素を追加する為に、extend()メソッドを使ってリスト形式のものを加える例を上記で述べました。この他にも、演算子+(足し算)や演算子*(掛け算)でリストの要素を追加(リストの結合)する事もできます。ただし、この場合はリスト同士のになります。
#1
animals = ["monkey","crab","crocodile"]
animals = animals + ["shrimp","tiger"]
print(animals)
【実行結果】
['monkey', 'crab', 'crocodile', 'shrimp', 'tiger']既にあるリストの変数にリストを追加する事ができました。以下のように、既にあるリスト同士の結合もできます。
#2
animals = ["monkey","crab","crocodile"]
animals = animals + ["shrimp","tiger"]
print(animals)
【実行結果】
['monkey', 'crab', 'crocodile', 'shrimp', 'tiger']既にあるリストを掛け算して、リストの要素を追加する事もできます。
#3
animals = ["shrimp","tiger"]
animals_new = animals*3
print(animals_new)
【実行結果】
['shrimp', 'tiger', 'shrimp', 'tiger', 'shrimp', 'tiger']*
*
*
*
紙面の都合で紹介できなかったのですが、変更と追加があれば削除は?という事で、下記記事にて削除について取り上げています。ぜひ、ご覧ください。


コメント