format_list_bulleted
【Python】データ構造(list・tuple・dict・set)まとめ(Python3)
最終更新日時:2020-05-10 14:12:11



Python(Python3)には様々なデータ構造が用意されています。今回はその中でも代表的な、リスト(list)・タプル(tuple)・辞書(dict)・集合(set)の違いについて解説します。

それぞれのデータ構造については別の記事でまとめていますので、詳しくはそちらをご覧ください。

Pythonのlist

listは順序付けられたデータを保存するのに有効です。それぞれの要素がインデックスに紐付いて保存されます。初期化や代入を行う場合は次のように「[]」で括られた要素を「,」区切りで記述します。

list1=['Python','JavaScript','C']

データを取り出す場合は

リスト名[インデックス番号]

のように記述します。

list1=['Python','JavaScript','C']
print(list1[0])

実行結果

Python

インデックス番号は0から始まることに注意してください。

listでは他にも要素の削除や追加、インデックスや要素の検索が出来ます。詳しくは「Pythonでのlistの使い方(Python3)」「Pythonでのlistの要素の追加・削除(Python3)」をご覧ください。

Pythonのtuple

tupleは順序付けられた変更したくないデータを保存するのに有効です。それぞれの要素がインデックスに紐付いて保存されます。初期化や代入を行う場合は次のように「()」で括られた要素を「,」区切りで記述します。

tuple1=('Python','JavaScript','C')

tupleは要素の追加や削除、変更が行えません。

tuple1[2]='C++'

のように記述するとエラーになります。

また、データを取り出す場合は

タプル名[インデックス番号]

のように記述します。

tuple1=('Python','JavaScript','C')
print(tuple1[0])

実行結果

Python

インデックス番号は0から始まることに注意してください。

tupleでは他にもインデックスや要素の検索が出来ます。詳しくは「Pythonでのtupleの使い方(Python3)」をご覧ください。

Pythonのdict

dictは要素とその要素を検索するkeyがそれぞれ組み合わさっているデータ構造です。それぞれの要素がkeyに紐付いて保存されます。初期化や代入を行う場合は次のように「{}」で括られた要素を「,」区切りで記述します。また、要素とkeyは「:」で区切って記述します。

dict1={'Japan':'Japanese','USA':'English','China':'Chinese'}

データを取り出す場合は

辞書名[key名]のように記述します。

dict1={'Japan':'Japanese','USA':'English','China':'Chinese'}
print(dict1['Japan'])

実行結果

Japanese

同じ名前のkeyは同一のdict中では一回しか使えないことに注意してください。dictでは他にも要素の削除や追加、keyや要素の検索が出来ます。詳しくは「Pythonでのdictの使い方(Python3)」をご覧ください。

Pythonのset

setは要素の集合を示すデータ構造です。初期化を行う場合はset()を、代入を行う場合は次のように「{}」で括られた要素を「,」区切りで記述します。

set1=set()
set2={'Japanese’,’English’,’math’}

データを取り出す場合はpopメソッドを使います。popメソッドはそのsetの中のランダムな要素を取得し、その要素をsetから削除します。setは要素が順序付けられていないので、取り出される値はランダムになります。

返り値を格納する変数=セット名.pop()

のように記述します。

set1={'Japanese’,’English’,’math’}
print(set1.pop())

実行結果

math

実行結果はランダムなので、「math」以外の要素になる場合があります。setでは他のデータ構造では行えない集合演算を行えるのが特徴的です。setでは他にも要素の削除や追加、要素の検索が出来ます。詳しくは「Pythonでのsetの使い方(Python3)」をご覧ください。また、集合演算に関しては今後記事を執筆予定です。

この記事のまとめ

今回はPythonのデータ構造の代表例である、list、tuple、dict、setの特徴と使い方を解説しました。今回説明したことをまとめると下の表のようになります。

メソッド初期化要素の管理方法要素の変更(追加・削除)要素の取り出しその他
list[]インデックス

tuple()key不可

dict{}key


setset()なし
可(ランダム)
集合演算

pythonでのデータの扱いには用途に適した構造を用いましょう!