Pythonで配列を用意したのはいいけど、途中で要素を追加したくなったんだけど…。
配列の要素を追加する方法を教えて!
了解!
配列の途中や先頭に追加する方法もご紹介します!
Pythonの配列に要素を追加する方法を
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
Pythonの配列に要素を追加するには
代表的には以下の方法があります。
- append()
- 「+」で結合
- insert()
まず、配列とは何かを見ていきましょう。
配列とは
配列とは、単語や数字などの要素を1つ入れることができる箱が集まったものです。
配列の基礎や作成方法は、下記記事でわかりやすく解説しております。
気になった方はご覧ください。
要素を追加する方法
要素の追加について
「要素を追加する」とはどういうことなのでしょうか。
配列の基礎と同様に配列を「タンス」で例えて解説していきます。
タンスの一番上の引き出しに「靴下」、2番目の引き出しに「シャツ」が入っているとします。
そこに「パンツ」を3番目の引き出しに追加してみましょう。
これが要素(中身)の追加です。
では要素を追加する方法をご紹介いたします。
タンスなら、一段飛ばして物を入れることができますが、配列はできません。
([‘靴下’,’シャツ’, ‘空っぽ‘, ‘パンツ’]はできない)
append()
「append()」を使用することで、配列の末尾に要素を追加することができます。
(タンスで例えると、空いている引き出しの一番上)
例:[‘靴下’, ‘シャツ’] → [‘靴下’, ‘シャツ’, ‘パンツ‘]
my_list = ['靴下', 'シャツ']
my_list.append('パンツ')
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ']
【 配列が入った変数.append(‘追加したい要素‘) 】
同じ要素を追加することもできます。
my_list = ['靴下', 'シャツ']
my_list.append('シャツ')
print(my_list)
#実行結果:['靴下', 'シャツ', 'シャツ']
「append()」は複数の要素を一度に追加することはできません。
my_list = ['靴下', 'シャツ']
my_list.append('パンツ', '手袋')
print(my_list)
#実行結果:
TypeError: list.append() takes exactly one argument (2 given)
複数の要素を追加したい場合は、下記の通り同じ作業を繰り返すか、
次項で解説する「+」を使いましょう。
my_list = ['靴下', 'シャツ']
my_list.append('パンツ')
my_list.append('手袋')
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ', '手袋']
「+」で結合する
「+」で結合することでも、要素を追加することができます。
下記は要素を追加した配列を別の変数に入れた例です。
my_list = ['靴下', 'シャツ']
my_list2 = my_list + ['パンツ']
print(my_list2)
#実行結果:['靴下', 'シャツ', 'パンツ']
同じ変数に入れることもできます。
my_list = ['靴下', 'シャツ']
my_list = my_list + ['パンツ']
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ']
追加した要素を同じ変数に入れる際は、「+=」を使うことで構文を簡略化できます。
下記のコードは、上記のコードと同じ処理をしています。
my_list = ['靴下', 'シャツ']
my_list += ['パンツ']
#my_list = my_list + ['パンツ']と同じ処理
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ']
「a += b」は「a = a + b」と同じ処理になります。
少し難しいので無理に覚える必要はありませんが、活用できると便利です。
「append()」ではできなかった、複数の要素を追加できます。
my_list = ['靴下', 'シャツ']
my_list = my_list + ['パンツ', '手袋']
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ', '手袋']
変数と変数を結合することもできます。
my_list = ['靴下', 'シャツ']
my_list2 = ['パンツ', '手袋']
my_list = my_list + my_list2
print(my_list)
#実行結果:['靴下', 'シャツ', 'パンツ', '手袋']
insert()
「insert()」を使用することで、配列の先頭や途中に要素を追加することができます。
my_list = ['靴下', 'シャツ']
my_list.insert(0,'パンツ')
print(my_list)
#実行結果:['パンツ', '靴下', 'シャツ']
番号は「0」なら配列の先頭に、「1」なら配列の2番目に追加されます。
my_list = ['靴下', 'シャツ']
my_list.insert(1,'パンツ')
print(my_list)
#実行結果:['靴下', 'パンツ', 'シャツ']
【 配列が入った変数.insert(番号, ‘追加したい要素‘) 】
1番目(番号は0)に要素を追加した場合、元々1番目にあった要素や、それ以降の要素は
順次後ろにズレます。上書きされるわけではありません。
「-1」や「-2」という番号指定も可能です。
「-1」なら後ろから2番目、「-2」なら後ろから3番目に追加されます。
my_list = ['靴下', 'シャツ']
my_list.insert(-1, 'パンツ')
print(my_list)
#実行結果:['靴下', 'パンツ', 'シャツ']
my_list = ['靴下', 'シャツ']
my_list.insert(-2, 'パンツ')
print(my_list)
#実行結果:['パンツ', '靴下', 'シャツ']
一番後ろに追加したい場合は、「append()」を使って末尾に追加してください。
「insert()」は複数の要素を一度に追加することはできません。
一度に追加したい場合は、「append()」のように同じ作業を繰り返してください。
最後に
Pythonの配列に要素を追加する方法を解説いたしました。
- 1つの要素を末尾に追加する「append()」
- 複数の要素や変数同士を結合できる「+」
- 先頭や途中に追加できる「insert()」
最後までお読みいただき、ありがとうございました。がんばってください!