こちらの記事ではpythonを扱うには欠かせない配列の使い方と概念について、学んでいきます。

目次
python配列の概念について
過去の記事で変数について紹介しました。
変数は箱を用意して、箱の中に数値や文字列、True/Falseなどのブール型など様々な情報を格納できるという使い方でした。
今回紹介する配列とは変数の中に複数の箱を用意して、出し入れできる仕組みになっています。
python配列の使い方
コード例を確認

まず今までの変数を使って、「田中」・「佐藤」・「小林」の3人の名前を表示するプログラムを作ってみましょう

# それぞれの変数に名前を入れる
name1 = "田中"
name2 = "佐藤"
name3 = "小林"
# 変数をprintで表示
print(name1)
print(name2)
print(name3)

こういった課題を解決してくれるのが配列です。こういった形に書き換えることが出来ます
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# 変数をprintで表示
print(name[0])
print(name[1])
print(name[2])


配列の作り方
まずは配列を作る部分から説明します。コード例の通り、全体を角カッコで囲んで、それぞれの値=要素をカンマで区切って作成します。
非推奨ですが、文字列と数字を混ぜたりということもできます。
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", 1000]
カンマが無かったり、角カッコが閉じられていなかったりするとエラーになるので、気をつけましょう。
配列の取り出し方
以前の例で配列に名前を追加した場合の中身は、以下のような状態になっています。

name変数の中に複数の箱があり、それぞれ左から追加した順に0, 1, 2の添え字がつけられています。
例えば田中を取り出したい時はname[0]のように表現します。

1,2,3...じゃないんだね

python配列のメソッドや配列に使う関数を紹介
配列にも便利なメソッドが多数用意されています。実際に業務でよく使われる代表的なメソッドを紹介していきますね。
それぞれコード例を使って説明していきます。詳しい説明は公式マニュアルをチェックしましょう。
配列に追加する
array.append ※pythonでは配列をarrayと表現されます
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# nameの後ろに値を追加する
name.append("加藤")
# 変数をprintで表示 [3]に追加されている
print(name[0])
print(name[1])
print(name[2])
print(name[3])
配列から削除する
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# 配列から"佐藤"を削除する
name.remove("佐藤")
# nameの要素数を表示する
print(name[0])
print(name[1])

name[2]を参照しようとするとエラーになるため気をつけましょう

配列の要素数を取得する
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# nameの要素数を取得する
# 実行結果:3
print(len(name))

リストに値があるかチェックする
値が存在するかをチェックするにはin演算子というものを利用します。
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# 佐藤が存在するかチェックする
# 実行結果:True
print("佐藤" in name)
# 実行結果:False
print("佐々木" in name)
# 逆のチェックもnot inで可能。存在しなければTrue
# 実行結果:False
print("佐々木" not in name)
リストから文字列に変換する
文字列のjoinメソッドを使って変換します。[区切り文字].joinの形です。
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# nameの配列をカンマ区切りで繋げる
str_name = ",".join(name)
# 実行結果:田中,佐藤,小林
print(str_name)

配列のコピー
array.copy
# それぞれの変数に名前を入れる
name = ["田中", "佐藤", "小林"]
# nameのコピーを作成する
name_copy = name.copy()
# name[0]を"佐々木"で上書きする
name[0] = "佐々木"
# 実行結果:佐々木,佐藤,小林
print(name[0])
print(name[1])
print(name[2])
# 実行結果:田中,佐藤,小林
print(name_copy[0])
print(name_copy[1])
print(name_copy[2])

コピー後にコピー元のみ変更されていることが分かります
python入門~配列listの使い方と概念
今回の記事では配列の概念の説明から使い方、よく利用される配列の処理について紹介しました。
配列は便利な仕組みですが、しっかり内部の情報を理解していないと、思わぬバグを生むケースを多いため気を付けましょう。
また今回紹介した処理以外にも使いこなすことで便利な関数やメソッドが標準で揃っています。公式マニュアルやWeb検索などで、実際に利用しながら覚えていきましょう。

この次の記事から条件分岐や繰り返し処理など制御する方法を学んでいきます。
まずはif文を使った条件分岐処理からです。