Pythonはその読みやすさとコードの美しさから多くのプログラマーに愛用されています。特にそのデータ構造は強力で柔軟性があり、データ構造を理解することでPythonのコーディングの幅が大きく広がります。
参考 Pythonの特徴
このページでは、Pythonの基本的なデータ構造であるリスト、タプル、辞書、集合に焦点を当てて初心者向けにわかりやすく解説します。
データ構造 | 定義方法 | ミュータブルか | 順序を保持 | インデックス指定 | 重複要素 | 主な用途 |
---|---|---|---|---|---|---|
リスト | [a, b, c] | 〇 | 〇 | 〇 | 〇 | 順序付けられた要素の集合 |
タプル | (a, b, c) | × | 〇 | 〇 | 〇 | 変更不可能な順序付けられた要素の集合 |
辞書 | {'a':1, 'b':2} | ※ | × | ※ | ※ | キーと値のペアの集合 |
集合 | {a, b, c} | 〇 | × | × | × | 重複しない要素の集合 |
各セクションでは、まず各データ構造の定義と基本的な操作から始め、それから特定のメソッドと使用例を紹介します。最後に、これらのデータ構造がどのように相互に関連して使用されるか、また、それぞれが最適な使用シーンは何かをまとめます。
Pythonエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。
Python:リスト(list)とは?
Pythonのリストは、順序を持った複数の要素を格納するためのデータ構造です。要素はどんなデータ型でも良く、さらに異なるデータ型の要素を1つのリスト内に格納することも可能です。
リストはざっくり「複数の値を代入することが可能な変数」だと理解してしまってOKです
リストの定義と基本操作
リストは角括弧([])を使って定義します。各要素は、「,(カンマ)」で区切ります。
# 数値のリスト numbers = [1, 2, 3, 4, 5] # 文字列のリスト fruits = ['apple', 'banana', 'cherry', 'date'] # 異なるデータ型の混在 mixed = [1, 'two', 3.0, ['a', 'b', 'c']] # 空のリスト empty = []
リストの要素には0から始まるインデックスを使ってアクセスします。リストの一部をスライス(範囲指定)することも可能。
また、リストはミュータブル(変更可能)であるため、既存の要素を変更したり、新しい要素を追加したり、要素を削除したりすることが可能です。
Python:タプル(tuple) とは?
タプルもリストと同じく順序を持つデータ構造ですが、タプルはイミュータブル(変更不可能)という重要な違いがあります。
つまり、一度定義したタプルの要素は変更することができません。
タプルはリストと同じようにさまざまな種類のデータを格納することができます。各データ項目は一意のインデックスによって参照され、整数型で0から始まるという点もリストと同様です。
タプルの定義と基本操作
タプルは丸括弧(())を使って定義します。
my_tuple = (1, 2, 3, 'apple', 'banana')
タプルの要素には0から始まるインデックスを使ってアクセスしますが、その要素を変更することはできません。
これが、タプルがミュータブルなデータ構造と比べてより安全な選択肢とされる理由の一つのポイントなので覚えておきましょう。
t = ('apple', 'banana', 'cherry') # 要素の変更は不可 t[0] = 'avocado' # TypeError: 'tuple' object does not support item assignment # 同様に要素の追加や削除も不可能 t.append('date') # AttributeError: 'tuple' object has no attribute 'append' del t[0] # TypeError: 'tuple' object doesn't support item deletion
タプルの主な用途の一つは、複数の値を一つの変数に格納することです。これにより、複数の値を一度に返す関数を作成したり、複数の値を一度に変数に代入することが可能になります。また、タプルはハッシュ可能なため、辞書のキーとしても使用できます。
Python:辞書(dictionary)とは?
Pythonの辞書型(dict型)とは、キー(key)と値(value)をペアにしてデータを格納するデータ型のこと。この特性は、項目の名前や属性に基づいてデータを格納する場合に特に便利です。
辞書の定義と基本操作
辞書は波括弧({})を使用して定義します。キーと値のペアはコロン(:)で区切られます。例えば以下のように定義できます。
city = { '東京' :"東京", '神奈川':"横浜", '大阪' :"大阪", '愛知' :"名古屋", '北海道':"札幌", } print(city['神奈川']) # キー「神奈川」の値を表示 print(city['愛知']) # キー「愛知」の値を表示 # 結果はこちら """ 横浜 名古屋 """
参考 print関数の使い方
辞書の要素はミュータブルなので、新たなキーと値のペアを追加したり、既存の値を変更したり、キーと値のペアを削除したりすることが可能。
city = { '東京' :"東京", '神奈川':"横浜", '大阪' :"大阪", '愛知' :"名古屋", '北海道':"札幌", } city['神奈川'] = 'YOKOHAMA' # キー神奈川の値を変更 print(city['神奈川']) # 結果はこちら """ YOKOHAMA """
Python:集合(set)とは?
集合(set型/セット)とはその名の通り数学の「集合」概念をコンピュータの世界に取り入れたもので、複数のユニークな(重複しない)要素を無順序で保持するデータ構造です。
集合の定義と基本操作
集合は波括弧({})を用いて定義します。
# 数字の集合を作成 numbers = {1, 2, 3, 4, 5} print(numbers) # Output: {1, 2, 3, 4, 5} # 文字列の集合を作成 fruits = {"apple", "banana", "cherry"} print(fruits) # Output: {'apple', 'cherry', 'banana'}
波括弧の中にカンマで区切った要素を書くことで集合を作成することができます。この方法で作成した集合は順序を保持せず、重複した要素を持つことはありません。
Python:データ構造のまとめ
始めてPythonを勉強するのは結構難しいですよね。
でもその悩みを抱えているのは一人じゃありません。全てのPython使いが同じ道を進んできました。
Pythonをはじめとするプログラミングスキルを武器に、時間と場所に捉われない自由な生き方を目指してみませんか?今すぐ行動したい方は以下の記事をチェック!
読者料典 Python入門:学習カリキュラム ←こちらから!