![sec02 - データ構造 [概要]](https://python101.tech/wp-content/uploads/2025/08/eyecatch_175.webp)
Table of Contents(目次)
データ構造とは
Pythonは、複数のデータを1つの変数で持てるような構造体が用意されています。例えば、list(リスト)という構造体は次のようにデータを保有することができます。
num_list = [1, 2, 3]
リストは複数のデータを要素番号[0]から順に並べて管理することができます。上記コードはシンプルな例になりますが、1
, 2
, 3
の3つのデータを変数"num_list"で管理することができます。
『データ構造』セクションでは、listをはじめとする、Pythonに用意されている構造体について詳しく学習します。
このセクションで学ぶこと
このセクションでは次のデータ構造を学習します。
- list (リスト)
- tuple (タプル)
- dict (辞書型)
- set (集合)
上記の各データ構造に対し、『概要』『スライス』『編集』『メソッド』『コピー』を学習します。
詳しくは、各レクチャーで説明しますが、このページではそれぞれの特徴を紹介します。
list (リスト)
list(リスト)は、先ほども少し触れましたが、複数のデータを要素番号順に管理するデータ構造です。listは、角カッコ[]
内で各要素を定義します。
num_list = [1, 2, 3]
listの特徴は次の通りです。
- 複数の値を順序付きで保存できる
- あとから、要素の追加・変更・削除が可能
- メリット: 柔軟性が高いこと
- デメリット:要素数が多いと操作が遅くなる
tuple (タプル)
tuple(タプル)は、listと同じように複数のデータを順序付きで管理するデータ構造ですが、要素を追加・変更・削除ができないデータ構造です。tupleは、丸カッコ()
内で各要素を定義します。
num_tuple = (1, 2, 3)
tupleの特徴は次の通りです。
- 順序付きで値を保存し、作成後に変更できない
- (Pythonでは、作成後に変更できないデータのことを『"イミュータブル"なオブジェクト』と言います)
- メリット:安全性が高く、処理が速い
- デメリット:値を変えられない
dict (辞書型)
dict(dictionary objectの略・辞書型/ディクショナリー)は、key
とvalue
を紐づけて管理するデータ構造です。dictのデータは{key: value}
の形で定義します。
# 国と首都をdictで管理
capitals = {
'日本': '東京',
'アメリカ': 'ワシントンD.C.',
'フランス': 'パリ',
'ブラジル': 'ブラジリア'
}
# 首都を取得
capital_japan = capitals["日本"]
capital_france = capitals["フランス"]
print(capital_japan) # 東京
print(capital_france) # パリ
dictの特徴は次の通りです。
key
とvalue
をペアで保存し、キーから素早く値を検索できる- メリット:検索が速い
- デメリット:キーの管理が必要
set (集合)
set(集合)は、重複しない値を集める構造で、順序はありません。
数学の授業で学習する集合と同じように、あるデータが集合の要素かどうかを調べたり、和集合, 積集合, 差集合, 対称差や、部分集合, 上位集合, 素集合を調べることができます。
setは、波カッコ{}
内で各要素を定義します。
num_set = {1, 2, 3}
setの特徴は次の通りです。
- 重複しない値を集める構造で、順序はない
- メリット:重複排除や集合演算が速い
- デメリット:要素の順番が保証されない
- 使いどころ:重複チェックや集合計算