【Python】配列とは?Pythonの配列の種類と特徴を解説

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}集合

1つずつ特徴と簡単な使い方を見ていきましょう!

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

もっと詳しくリストのことを知りたい場合は、以下の記事を参照してください。

【Python】list(リスト)とはなんぞや?【リストの使い方】【Python】list(リスト)とはなんぞや?【リストの使い方】

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

もっと詳しくタプルのことを知りたい場合は、以下の記事を参照してください。

Pythonのtuple(タプル)とはなんぞや?【タプルの使い方】Pythonのtuple(タプル)とはなんぞや?【タプルの使い方】

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

もっと詳しく辞書のことを知りたい場合は、以下の記事を参照してください。

【Python】dictionary(ディクショナリ)とはなんぞや?【辞書の使い方】【Python】dictionary(ディクショナリ)とはなんぞや?【辞書の使い方】

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】set(セット)とはなんぞや?【セットの使い方と集合演算】【Python】set(セット)とはなんぞや?【セットの使い方と集合演算】

まとめ

この記事では、Pythonの配列の種類と簡単な使い方を解説しました。

今回のおさらい

  • 配列とは? = 『複数のデータを1つの変数で管理できるデータ型』
  • Pythonの配列の種類 = 『リスト、タプル、辞書、セット』

どの配列もよく使うので、しっかり覚えておきましょう!

それでは今回の内容はここまでです!ではまたどこかで〜( ・∀・)ノ

タイトルとURLをコピーしました