この記事では、Pythonの配列(コレクション)の種類と特徴について解説します。
Pythonで配列と言えば「リスト」のことか、または 1つの変数で複数のオブジェクトを取り扱うことができるデータ型のことを総じて言います。
それでは、どんな配列が用意されているか見ていきましょう!
配列とは?
配列とは 1つの変数で複数のオブジェクトを管理できるデータ型のことを言います。例えば、以下のような複数のデータを配列で書き直してみましょう。
item1 = 'やくそう'
item2 = 'どくけしそう'
item3 = 'キメラのつばさ'
配列の1つであるリスト(list)
を使うことで以下のように複数のデータを1つの変数にまとめることができました。
items = ['やくそう', 'どくけしそう', 'キメラのつばさ']
このように、同じ用途で使用するようなデータは、配列で1つにまとめておいた方が管理がしやすくなります。
また、for
文を使うことでまとめて処理することもできます。
items = ['やくそう', 'どくけしそう', 'キメラのつばさ']
for item in items:
print(item)
実行結果
やくそう
どくけしそう
キメラのつばさ
ただし、一口に配列と言ってもどれも様々な特徴を持っています。なのでこの記事では、Python に用意されている配列の種類と簡単な特徴を紹介していきます。
配列らへんの用語
配列まわりで使われる用語には、紛らわしいものが結構あります。なので、ゴチャゴチャにならないように少し整理しておきましょう❗️
コレクション、コンテナ | 複数のデータを扱える型のこと。配列と同義。リストのことを配列と呼ぶこともある。 |
---|---|
要素 | コレクション中のデータのこと。 |
シーケンス | 順番を持った複数のデータを扱う型のこと。 |
インデックス(添字) | シーケンスの要素1つずつに割り振られた番号。 |
イテラブルオブジェクト | 反復可能なオブジェクト。for文で要素を1つずつ取り出せる。 |
イテレータ | イテラブルオブジェクトから生成されたオブジェクト。要素を1つずつ取り出せる。 |
シーケンスの使い方と特徴 |
イテラブルとイテレータについて |
Pythonの配列の種類
Pythonには、以下のような配列が用意されています。
型名 | コンストラクタ | 初期化 | 特徴 |
---|---|---|---|
リスト | list() | l = [1, 2, 3] | 汎用性抜群 |
タプル | tuple() | t = (1, 2, 3) | 要素を追加・変更できない |
辞書 | dict() | d = {'a': 1, 'b': 2} | 連想配列 |
セット | set() | s = {1, 2, 3} | 集合 |
それでは、1つずつ配列の特徴と簡単な使い方を見ていきましょう!
list: リスト
リストは汎用性が高く、最も使われる配列です。要素の追加・変更・削除が可能で色々な場面で使われます。
- 可変(ミュータブル)
- 同じ型の要素を格納することが多い
- 汎用性が高い
- シーケンスである
簡単なコード
# リスト生成
l = []
# 要素の追加
l.append('hoge')
l.append('moge')
l.append('hage')
# 要素の削除
l.remove('hage')
# 要素を1つずつ出力
for element in l:
print(element)
実行結果
hoge
moge
tuple: タプル
タプルは、要素を追加・削除・変更することができない配列です。関数の戻り値として複数の要素を一時的に1つにまとめたい場合などでよく使われます。
- 不変(イミュータブル)
- 複数の型の要素を格納することが多い
- リストよりもメモリを節約できる
- 関数の戻り値としてよく使う
- シーケンス型である
簡単なコード
def func():
# タプルを用いることで複数の要素を返せる
return 1, 2, 3
# アンパックして受け取る
v1, v2, v3 = func()
# 出力
print(v1)
print(v2)
print(v3)
実行結果
1
2
3
dict: 辞書
辞書は、keyにvalueを対応付けて管理する少し特殊な配列です。
keyにvalueを対応付けるためインデックスからではなく、keyから要素にアクセスできます。このような配列を「マップ」や「連想配列」と呼んだりします。
- keyとvalueで1つの要素
- マッピング型である
並びを保持しないPython 3.7から並びを保持するようになった- 連想配列や連想記憶、マップなどと呼ばれたりする
簡単なコード
# 辞書の生成
d = {}
# 要素の追加(dict[key] = value)
d['key1'] = 'value1'
d['key2'] = 'value2'
d['key3'] = 'value3'
# 要素の削除
del d['key3']
# 出力
print(d['key1'])
print(d['key2'])
実行結果
value1
value2
set: セット
セットは、重複する要素を持てない配列です。主に集合演算に使われたり、重複する要素を取り除くために使われます。
- 可変(ミュータブル)
- 重複する要素を持てない
- 集合演算ができる
簡単なコード
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の配列の種類と簡単な使い方を解説しました。
配列を使うことで複数のデータをまとめて管理できるようになりました。配列はよく使うオブジェクトなのでしっかり覚えておいてください❗️
それでは今回の内容はここまでです!ではまたどこかで〜( ・∀・)ノ