この記事では、Pythonの配列の種類と特徴について解説します。Pythonには複数の配列が用意されています。便利な型ばかりなので上手く使いこなしましょう!
それでは、Pythonの配列について見ていきましょう!
配列とは?

配列とは、1つの変数で複数のデータを管理できるデータ型のことを言います。例えば、複数の値を管理したい場合、配列を使わないで実装すると以下のような感じになります。
shop1_1 = 'やくそう'
shop1_2 = 'どくけしそう'
shop1_3 = 'キメラのつばさ'
これを配列を使って書き直してみます。
shop1 = ('やくそう', 'どくけしそう', 'キメラのつばさ')
配列を使うことで複数のデータを1つの変数にまとめることができました。
Pythonの配列の種類

Pythonには、以下のような配列が用意されています。
型名 | 初期化 | 特徴 |
---|---|---|
リスト | l = [1, 2, 3] | 汎用性抜群 |
タプル | t = (1, 2, 3) | 要素を追加・変更できない |
辞書 | d = {‘a’: 1, ‘b’: 2} | 連想配列 |
セット | s = {1, 2, 3} | 集合 |
それでは、それぞれ特徴と簡単な使い方を見ていきましょう!
list: リスト

リストは、汎用性の高い配列です。
- 可変(ミュータブル)
- 同じ型の要素を格納することが多い
- 汎用性が高い
- シーケンス型である
それでは、簡単にリストの使い方を見ていきます。
リストの宣言・初期化
空のリストを作成するには以下のように記述します。
l = []
リストの初期化は以下のように記述します。
l = [1, 2, 3]
リストの要素にアクセス
リストの要素にアクセスするには、[]を使ってインデックスを指定します。
l = [1, 2, 3]
print(l[0]) # 1
print(l[1]) # 2
print(l[2]) # 3
# 書き換えることもできる
l[1] = 4
print(l[1]) # 4
リストの要素の追加・削除
リストの要素を追加・削除してからfor文を使って全ての要素を出力しています。
# リストの初期化
vals = [1, 2, 3]
# 要素の追加
vals.append(4)
# 要素の削除
vals.remove(2)
# 各要素にアクセス
for val in vals:
print(val)
実行結果
1
3
4
もっと詳しくリストのことを知りたい場合は、以下の記事を参照してください。

tuple: タプル

タプルは、要素を追加・削除・変更することができない配列です。関数の戻り値などの複数の要素を一時的に1つにまとめたい場合などでよく使われます。
- 不変(イミュータブル)
- 複数の型の要素を格納することが多い
- リストよりも処理が軽い
- 関数の戻り値として使う
- シーケンス型である
それでは、簡単にタプルの使い方を見ていきます。
タプルの宣言・初期化
空のタプルを宣言するには、以下のように記述します。
t = ()
タプルを初期化するには、以下のように記述します。
t = (1, 2, 3)
タプルの要素にアクセス
リストと同様に「[]」を使ってインデックスからアクセスできます。
t = (1, 2, 3)
print(t[0]) # 1
print(t[1]) # 2
print(t[2]) # 3
アンパックで要素を取り出すことも多いです。
t = (1, 2, 3)
# アンパック
t1, t2, t3 = t
print(t1) # 1
print(t2) # 2
print(t3) # 3
タプルの要素の追加・削除
タプルのままでは要素を追加・削除できないので、一度リストに変換して要素の追加・削除をします。
# タプルの初期化
vals = (1, 2, 3)
# リストに変換
vals = list(vals)
print(type(vals))
# 要素の追加
vals.append(4)
# 要素の削除
vals.remove(2)
# リストに変換
vals = tuple(vals)
print(type(vals))
# 各要素にアクセス
for val in vals:
print(val)
実行結果
<class 'list'>
<class 'tuple'>
1
3
4
もっと詳しくタプルのことを知りたい場合は、以下の記事を参照してください。

dict: 辞書

辞書は、keyにvalueを対応付けて管理する少し特殊な配列です。keyにvalueを対応付けるためインデックスからではなく、keyから要素にアクセスできます。このような配列をマップや連想配列と呼んだりします。
- keyとvalueで1つの要素
- マッピング型である
- 並びを保持しない
- 連想配列や連想記憶と呼ばれたりする
それでは、簡単に辞書の使い方を見ていきます。
辞書の宣言・初期化
空の辞書を作成するには以下のように記述します。
vals = {}
辞書を初期化するには以下のように記述します。
vals = {'one': 1, 'two': 2, 'three': 3}
辞書の要素にアクセス
辞書の要素にアクセスするには、「[]」を使ってkeyを指定します。
vals = {'one': 1, 'two': 2, 'three': 3}
print(vals['one']) # 1
print(vals['two']) # 2
print(vals['three']) # 3
辞書の要素の追加・削除
辞書の要素を追加・削除してからfor文を使って全ての要素を出力しています。
vals = {'one': 1, 'two': 2, 'three': 3}
# 要素の追加
vals['four'] = 4
# 要素の削除
del vals['two']
for key, value in vals.items():
print(key, value)
実行結果
one 1
three 3
four 4
もっと詳しく辞書のことを知りたい場合は、以下の記事を参照してください。

set: セット

セットは、重複する要素を持てない配列です。主に集合演算に使われたり、重複する要素を取り除くために使われます。
- 可変(ミュータブル)
- 重複する要素を持てない
- 並びを保持しない
- 集合演算ができる
それでは、簡単にセットの使い方を見ていきます。
セットの宣言・初期化
空のセットを作成するには以下のように記述します。
vals = set()
セットを初期化するには以下のように記述します。
vals = {1, 2, 3}
辞書に似ているので注意です。
セットの要素にアクセス
インデックスを使ってアクセスできないので、リストに変換するかfor文でアクセスします。
vals = {1, 2, 3}
# リストに変換
l_vals = list(vals)
# 要素にアクセス
print(l_vals[0]) # 1
print(l_vals[1]) # 2
print(l_vals[2]) # 3
# for文を使う
for val in vals:
print(val)
# 1
# 2
# 3
セットの要素の追加・削除
セットの要素を追加・削除してからfor文を使って全ての要素を出力しています。
vals = {1, 2, 3}
# 要素の追加
vals.add(4)
# 要素の削除
vals.remove(2)
# for文を使う
for val in vals:
print(val)
実行結果
1
3
4
集合演算
セットは集合演算に特化しているので簡単に計算できます。
vals1 = {1, 2, 3}
vals2 = {2, 3, 4}
# 和集合
print(vals1 | vals2) # {1, 2, 3, 4}
# 積集合
print(vals1 & vals2) # {2, 3}
# 差集合
print(vals1 - vals2) # {1}
# 対象差集合
print(vals1 ^ vals2) # {1, 4}
もっと詳しくセットのことを知りたい場合は、以下の記事を参照してください。

まとめ
この記事では、Pythonの配列の種類と簡単な使い方を解説しました。
- 配列とは? = 『複数のデータを1つの変数で管理できるデータ型』
- Pythonの配列の種類 = 『リスト、タプル、辞書、セット』
どの配列もよく使うので、しっかり覚えておきましょう!
それでは今回の内容はここまでです!ではまたどこかで〜( ・∀・)ノ