
Pythonを学び始めた人が最初につまずきやすいポイントの一つが、「リスト(list)」と「辞書(dict)」の違いです。
どちらも複数のデータをまとめて扱える便利なデータ型ですが、使いどころや構造がまったく異なります。
この記事では、listとdictの基本的な特徴と違いを、初心者にもわかりやすく具体例を交えて丁寧に解説します。
list(リスト)とは?
リストは、複数のデータを順番に並べて保持するデータ型です。
角かっこ([]
) を使って作成し、要素には「インデックス番号(位置)」を使ってアクセスします。
リストの例
1 2 3 4 |
fruits = ["apple", "banana", "orange"] print(fruits[0]) # → apple print(fruits[2]) # → orange |
fruits
というリストに3つのフルーツ名が順番に格納されています。
インデックス番号は0から始まり、要素をその順番で取り出すことができます。
リストは 順番重視のデータ管理 に向いています。
dict(辞書)とは?
辞書(dictionary)は、「キー」と「値」のペアでデータを管理するデータ型です。
波かっこ({}
) を使って作成し、要素にはインデックスではなく「キー(名前)」を使ってアクセスします。
辞書の例
1 2 3 4 |
person = {"name": "Alice", "age": 30, "city": "Tokyo"} print(person["name"]) # → Alice print(person["city"]) # → Tokyo |
このように、"name"
や "city"
といったキー名を指定して値を取り出します。
辞書は 項目名でデータを扱いたい場合や、検索性を重視する場面 に非常に便利です。
listとdict(辞書)の主な違いまとめ
比較項目 | list(リスト) | dict(辞書) |
---|---|---|
構造 | 要素の「並び順」 | 「キー」と「値」のペア |
アクセス方法 | インデックス番号でアクセス | キーでアクセス |
使い道 | データを順番に扱いたいとき | データに名前をつけて管理したいとき |
順番 | 基本的に順番あり(保持される) | Python3.7以降は順番も保持されるが本質はキー重視 |
柔軟性 | 値だけを持つ | キーと値のセットで持つ |
具体例①:リストの使いどころ
複数の名前を順番に処理したい場合など、データの順番が大事なときに使います。
1 2 3 4 |
names = ["Ken", "Yuki", "Emma"] for name in names: print(name) |
出力結果:
1 2 3 4 |
Ken Yuki Emma |
順番どおりに処理されていくのが特徴です。
具体例②:辞書の使いどころ
ユーザー情報のように、名前をつけて情報を管理したいときに便利です。
1 2 3 4 5 6 7 8 |
user = { "username": "ken123", "email": "ken@example.com", "password": "secret123" } print(user["email"]) # → ken@example.com print(user["password"]) # → secret123 |
このように、どの情報が何を表すのかが明確になるのが辞書の強みです。
CSVの読み込みと辞書の便利さ
たとえば、CSVファイルを読み込んで「ユーザー名やパスワード」を扱いたいとき、dictの方が直感的です。
1 2 3 4 5 6 7 |
import csv with open("users.csv", "r", encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: print(row["username"], row.get("password")) |
このように、列名をキーとして使えるため、構造を意識せずに簡単に必要なデータを取り出せます。
どちらを使えばいいの?
迷ったときは以下の基準で選ぶと良いでしょう:
- 順番で処理するなら list
- 項目に名前を付けて扱いたいなら dict
実際のアプリやデータ処理の場面では、listとdictを組み合わせて使うケースも非常に多くなります。
まとめ
- list は「順番に並べる箱」、dict は「名前つきの箱」
- listはインデックスで、dictはキーでアクセス
- dictはCSVのデータ操作などにとても便利
Pythonでは、listとdictの理解が非常に大事な基礎になるので、両者の違いと使いどころをしっかり押さえておきましょう。