Pythonにおけるデータ構造(リスト・タプル・辞書・集合)の基本を初心者向けに整理して解説します。

Pythonのデータ構造の基本を理解することで、コーディングの幅をぐっと広げることが可能です。
Pythonエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識です。このページで解説している内容は確実に理解しておきましょう。
さっそく、データ構造の基本リスト(list)から解説します。
Python:リスト(list)とは?
リストとは、いわゆる配列のことです。
配列とは、ザックリ言うと「データのまとまり」です。
複数の値を代入することが可能な変数だと理解してしまってOKです。

配列に格納した1つ1つの値のことを「要素」、それぞれの要素の位置のことを「要素番号 / インデックス(index
)」呼びます。
インデックスは、左から順番に0から始まる連番で管理します。
リスト(list)の宣言
リストの定義は [ ]を利用します。各要素は、「,(カンマ)」で区切ります。
list = ["あいうえお","かきくえこ","さしすせそ"] print(list[0]) # 0番目の要素を表示 print(list[1]) # 1番目の要素を表示 print(list[2]) # 2番目の要素を表示 # 結果はこちら """ あいうえお かきくえこ さしすせそ """
リスト:要素の変更
要素を変更することもできます。
list = ["あいうえお","かきくえこ","さしすせそ"] list[2] = "たちつてと" # 2番目の要素を変更 print(list) # 結果はこちら # ['あいうえお', 'かきくえこ', 'たちつてと']
同様に、要素を追加することも削除することもできます。
Python:タプル(tuple) とは?
タプルも基本的には配列と同じ考え方です。
ただし、リストと異なり要素の変更ができません。
tuple = ("あいうえお","かきくけこ","さしすせそ") tuple(0) = "たちつてと" # 要素を変更しようとすると・・・
SyntaxError(構文エラー)が発生します。
また、要素の追加も削除も同様にエラーになります。
タプル(tuple)の宣言
リストは [ ] を用いましたが、タプルは ( ) で定義します。
それ以外はリストと同じです。
tuple = ("あいうえお","かきくけこ","さしすせそ") print(tuple[0]) # 0番目の要素を表示 print(tuple[1]) # 1番目の要素を表示 print(tuple[2]) # 2番目の要素を表示 # 結果はこちら """ あいうえお かきくえこ さしすせそ """
Python:辞書(dictionary)とは?
辞書(dictionary)とは、keyとvalueの組み合わせが含まれているデータのことです。
これは、サンプルコードを見たほうが分かりやすいので、サンプルコードをご覧ください。
city = { '東京' :"東京", '神奈川':"横浜", '大阪' :"大阪", '愛知' :"名古屋", '北海道':"札幌", } print(city['神奈川']) # キー「神奈川」の値を表示 print(city['愛知']) # キー「愛知」の値を表示 # 結果はこちら """ 横浜 名古屋 """
辞書は、あとから変更・追加・削除が可能です。
city = { '東京' :"東京", '神奈川':"横浜", '大阪' :"大阪", '愛知' :"名古屋", '北海道':"札幌", } city['神奈川'] = 'YOKOHAMA' # キー神奈川の値を変更 print(city['神奈川']) # 結果はこちら """ YOKOHAMA """
Python:集合(set)とは?
1番利用頻度が低いです。
要素(set)は、リストと似ているのですが、まず1点目の違いとして、要素番号/インデックスが存在しません。
set_sample = {"あ","い","う","え","お"} print(set_sample) # 結果はこちら """ {'え', 'あ', 'い', 'お', 'う'} """
ご覧のように、表示された際の順番が全くバラバラです。プログラムの実行ごとに毎回異なる順番で表示されます。
2点目の相違は、リストと異なり要素の重複が許されないという点です。
set_sample = {"あ","い","う","え","お","お","お",} print(set_sample) # 結果はこちら """ {'え', 'あ', 'い', 'お', 'う'} """
要素が5つしか表示されていません。これは、重複した要素が認識されないためです。
Pythonを1から学習したい方は
Pythonをより実践的に学びたい―。実際にコーディングをしながら学びたい―。独学に限界を感じている―。
そんな方には、無料体験/オンライン完結もあるプログラミングスクールで学ぶのがおすすめです。都度検索しながら知識を補完していくのではなく、1から体系立てて学ぶことで短時間・かつ効率的にスキルハックすることが可能です。
各プログラミングスクールの特徴をまとめた記事をこちらに記載しておきますので、是非ご覧ください。