全6877文字

リストの上書き・追加・削除

 指定したインデックスの要素に値を追加するには、「(リストの変数名)[(インデックス)]=値」と記述します。要素は通常の変数と同様、最後に入力された値で上書きされます。

alphabet = ["a", "b", "c", "d", "e"]
#最後の要素の値を上書き
alphabet[-1] = "E"
print(alphabet)

 これを実行すると、「["a", "b", "c", "d", "E"]」が出力されます。最後尾の要素「e」が、「E」で上書きされました。

 指定した範囲の値をまとめて上書きすることもできます。

alphabet = ["a", "b", "c", "d", "e"]
#インデックス0~2に値を代入
alphabet[:3] = ["A","B", "C"]
print(alphabet)

 インデックス0~2の値が上書きされたため、「["A", "B", "C", "d", "e"]」が出力されます。

 次は、リストへの要素追加です。新しい要素を1つ追加したい場合には、「list(リストの変数名).append(追加する要素)」と記述します。

alphabet = ["a", "b", "c", "d", "e"]
# 1つだけ追加する場合はappendを使う
alphabet.append("f")
# ["a", "b", "c", "d", "e", "f"]が出力される
print(alphabet)

 appendでは、複数の要素を追加することはできません。複数の値を追加したい場合には、「+」を使って以下のようにリスト同士を連結させます。

alphabet_1 = ["a", "b", "c", "d", "e"]
alphabet_2 = ["f","g"]
# 連結
alphabet_3 = alphabet_1 + alphabet_2
print (alphabet_3)

 2つのリストが連結されるため、出力は「 ["a", "b", "c", "d", "e", "f","g"]」となります。

 リストから要素を削除するにはdel関数を利用します。「del (リストの変数名)[インデックス] 」と記述します。

alphabet = ["a", "b", "c", "d", "e"]
#インデックス3の要素を削除
del alphabet[3]
print(alphabet)

 インデックス3の要素(「d」)が削除されるため、「["a","b","c","e"]」が出力されます。

 削除する値の範囲を指定することも可能です。

alphabet = ["a", "b", "c", "d", "e"]
#インデックス3~最後の要素を削除
del alphabet[3:]
print(alphabet)

 ここでは、インデックス3から最後までの要素を削除しています。このため「["a","b", "c"]」が出力されます。

 削除に使える関数は、del以外にpop、remove、clearがあります。特徴は以下の通りです。

  • すべての要素を削除:clear()
  • 指定した位置の要素を削除し、値を取得:pop()
  • 指定した値と同じ要素を検索し、最初の要素を削除:remove()