Pythonの配列(リスト)の要素の操作方法は、初心者にとっては難しい場合もあります。
配列操作は頻繁に行うため、やり方を完全にマスターしておくことが望ましいでしょう。
本記事ではPythonの配列に要素を追加する方法についてまとめました。
2次元配列の場合の追加方法などもまとめたのでぜひ参考にしてください。
Pythonの配列(リスト)とは?
Pythonには配列(リスト)と呼ばれる機能があります。
配列は複数のデータを管理するために使われます。
配列には複数データを格納することができ、それらをひとまとめに扱うことが可能です。
たとえば、配列に格納した数値データをまとめて2倍にする、といったことができます。
配列に関しては【入門編5】Pythonで複数データ(リスト)を扱ってみようの記事で詳しくまとめてあるので併せてお読みいただけると幸いです。
Pythonの配列に要素を追加する方法
まず、Pythonの配列に普通の要素(単体のデータ)を追加する方法について解説します。
以下の手順に従って解説していきます。
- 末尾に追加する
- 指定位置に追加する
- 要素を上書きする
1)末尾に追加する
まず、Pythonの配列の末尾に要素を追加する方法についてみていきましょう。
末尾に追加したい場合、appendメソッドというものを利用します。
○コード例
l = ["Apple", "Banana", "Melon"]
l.append("Lemon")
print(l)
○実行結果
上記の例では、配列lにたいしてappendメソッドを使って「Lemon」を追加しています。
このようにappendを使えば簡単に要素を末尾に追加可能です。
同じように、数値データもappendで追加することが可能です。
○コード例
l = [1, 3, 5]
l.append(7)
print(l)
○実行結果
2)指定位置に追加する
続いて、末尾だけでなく指定した位置に要素を追加する方法を解説します。
指定位置に追加する場合はinsertメソッドが便利です。
○コード例
l = ["Apple", "Banana", "Melon"]
l.insert(1, "Lemon")
print(l)
○実行結果
上記のコードではinsertメソッドを使っていて、配列の1番目に「Lemon」を追加しています。
(配列は1番からではなく、0番から数える決まりとなっています。)
insertメソッドの第一引数に要素を追加する場所を指定することで、追加が可能になります。
また、第一引数には負の数を入れることも可能です。
たとえば「-1」を入れることで、末尾から数えて1番目にデータを追加することができます。
○コード例
l = ["Apple", "Banana", "Melon"]
l.insert(-1, "Lemon")
print(l)
○実行結果
3)要素を上書きする
続いて、配列の要素を上書きする方法をみていきます。
appendやinsertメソッドは要素を追加することはできますが、上書きすることはできません。
上書きする場合は以下のように記述します。
○コード例
l = ["Apple", "Banana", "Melon"]
l[1] = "Lemon"
print(l)
○実行結果
上書きする場合は、上記のように「l[1] = “Lemon”」と記述し、配列のインデックス番号を指定し、そこにデータを入れるようにするだけです。
Pythonの配列に別の配列の要素を追加する方法
続いて、Pythonの配列に別の配列の要素を追加する方法について解説します。
追加するものが配列になる場合、一工夫が必要になります。
次の手順にもとづいて解説していきます。
- 末尾に追加する
- 指定位置に追加する
1)末尾に追加する
配列に別の配列の要素を追加する方法を解説します。
先程同様にappendメソッドを使うと次のようになってしまいます。
○コード例
l = ["Apple", "Banana", "Melon"]
l.append(["Lemon", "grape"])
print(l)
○実行結果
appendは指定された要素を単に追加するだけです。
そのため、配列からデータを取り出すのではなく、配列をそのまま末尾に追加してしまっています。
配列から要素を抜き出し、それを配列の末尾に追加する場合、extendメソッドを使います。
○コード例
l = ["Apple", "Banana", "Melon"]
l.extend(["Lemon", "grape"])
print(l)
○実行結果
上記のコードでは、extendメソッドを使い配列の要素を抜き出して末尾に追加しています。
2)指定位置に追加する
続いて、配列の要素を指定位置に追加する方法を解説します。
指定位置に追加する場合、Pythonのスライスという機能を使います。
○コード例
l = ["Apple", "Banana", "Melon"]
l[1:1] = ["Lemon", "grape"]
print(l)
○実行結果
上記のコードではスライスによって、「Lemon」と「grape」を配列の1番目に格納しています。
スライスでは、開始インデックスと終了インデックスを指定することで、その部分にアクセスすることが可能です。
演算子を使って要素を追加する方法
上記ではPythonに備わっているメソッドを使って要素を追加しました。
要素を追加する場合メソッドを使う方法以外にも、演算子を使う方法があります。
演算子を使って、配列の末尾に要素を追加する場合、次のようになります。
○コード例
l = ["Apple", "Banana", "Melon"]
# l = l + ["Lemon"]と同じ
l+= ["Lemon"]
print(l)
○実行結果
上記のコードでは演算子を使い、配列に新しい要素を足しています。
こちらの方法でも新しい要素を追加することが可能です。
二次元(多次元)配列の場合も基本的なやり方は同じ
二次元配列に要素を追加する場合も、基本的なやり方はそこまで変わりません。
○コード例
l = [
[1, 2, 3],
["Apple", "Banana", "Melon"],
]
l[1].append("Lemon")
print(l)
○実行結果
上記のコードでは、appendメソッドを使って二次元配列のうち1番目の配列に対して要素を追加しています。
このように、二次元配列の中でもどれに追加するかを指定すれば良いだけです。
まとめ
本記事ではPythonの配列に用意を追加する方法について解説しました。
今一度、配列操作に関するメソッドの使い方についておさらいしましょう。
- append:配列の末尾に要素を追加する
- insert:配列の指定に要素を追加する
- extend:配列の末尾に別の配列を追加する
この3つのメソッドの使い方を覚えておけば、普段の開発でそこまで困ることはないかと思います。
また、配列に要素を追加する方法だけでなく、削除する方法やソートする方法についても学んでおきましょう。
配列をソートする方法に関しては【初級編1】Pythonで配列をソートする方法を学ぼうにまとめてありますので、参考にしてください。