Python(Python3)には様々なデータ構造が用意されています。今回はその中でも代表的な、リスト(list)・タプル(tuple)・辞書(dict)・集合(set)の違いについて解説します。
それぞれのデータ構造については別の記事でまとめていますので、詳しくはそちらをご覧ください。
- Pythonでのlistの使い方(Python3)
- Pythonでのlistの要素の追加・削除(Python3)
- Pythonでのtupleの使い方(Python3)
- Pythonでの辞書(dict)の使い方(Python3)
- Pythonでの集合(set)の使い方(Python3)
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 | 可 | 可 | |
set | set() | なし | 可 | 可(ランダム) | 集合演算 |
pythonでのデータの扱いには用途に適した構造を用いましょう!