Pythonの基本データ構造:リスト、タプル、辞書とは?
リスト、タプル、辞書の概要
Pythonにはデータを格納するためのさまざまなデータ構造がありますが、基本的なものとしてリスト(list)、タプル(tuple)、辞書(dictionary)があります。それぞれ異なる特徴を持ち、目的に応じて使い分けることで効率的なプログラムを作成できます。
3つのデータ構造の比較
データ構造 | 特徴 | 用途 |
---|---|---|
リスト(list) | 可変(要素の追加・削除が可能) | 複数の値を順序付けて管理したいとき |
タプル(tuple) | 不変(要素の追加・変更ができない) | 変更されるべきでないデータを管理したいとき |
辞書(dict) | キーと値のペアでデータを格納 | ラベル付けされたデータを管理したいとき |
リストの使い方
リストの基本的な作成方法
リストは、角括弧[]
で囲んで、カンマで区切って複数の値を格納します。
例:
fruits = ["apple", "banana", "cherry"]
print(fruits)
出力:
['apple', 'banana', 'cherry']
リストの主な操作方法
- 要素へのアクセス
リストの要素は、インデックス(0から始まる番号)を使ってアクセスできます。
print(fruits[0]) # 最初の要素を表示
出力:
apple
- 要素の追加
append()
メソッドを使ってリストに新しい要素を追加できます。
fruits.append("orange")
print(fruits)
出力:
['apple', 'banana', 'cherry', 'orange']
- 要素の削除
remove()
メソッドで指定した要素を削除できます。
fruits.remove("banana")
print(fruits)
出力:
['apple', 'cherry', 'orange']
- リストのスライス
リストの一部を取得するにはスライス構文を使います。
print(fruits[0:2]) # 最初の2つの要素を取得
出力:
['apple', 'cherry']
タプルの使い方
タプルの基本的な作成方法
タプルは、丸括弧()
を使って複数の要素を格納します。
例:
colors = ("red", "green", "blue")
print(colors)
出力:
('red', 'green', 'blue')
タプルの主な操作方法
- 要素へのアクセス
リストと同様に、インデックスを使ってタプルの要素にアクセスできます。
print(colors[1])
出力:
green
- 変更不可の特徴
タプルは一度作成すると、要素の追加や削除、変更ができません。
colors[0] = "yellow" # エラーになる
出力:
TypeError: 'tuple' object does not support item assignment
タプルの使いどころ
タプルは、データが変更されるべきでない場合に便利です。たとえば、座標データや設定情報など、固定したデータを扱うときに使います。
例:
coordinates = (35.6895, 139.6917) # 東京の緯度と経度
辞書の使い方
辞書の基本的な作成方法
辞書は、キーと値のペアを持つデータ構造で、波括弧{}
を使って作成します。
例:
person = {
"name": "Alice",
"age": 25,
"city": "Tokyo"
}
print(person)
出力:
{'name': 'Alice', 'age': 25, 'city': 'Tokyo'}
辞書の主な操作方法
- 要素へのアクセス
キーを指定して値を取得できます。
print(person["name"])
出力:
Alice
- 要素の追加と更新
辞書に新しいキーと値を追加したり、既存の値を更新したりすることができます。
person["job"] = "Engineer" # 新しい要素を追加
person["age"] = 26 # 値を更新
print(person)
出力:
{'name': 'Alice', 'age': 26, 'city': 'Tokyo', 'job': 'Engineer'}
- 要素の削除
del
を使って要素を削除できます。
del person["city"]
print(person)
出力:
{'name': 'Alice', 'age': 26, 'job': 'Engineer'}
リスト、タプル、辞書の応用例
1. リストを使ったループ処理
リストのすべての要素を順番に処理するには、for
文を使います。
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
出力:
apple
banana
cherry
2. タプルのアンパック
タプルの複数の要素を一度に取り出すにはアンパックを使います。
coordinates = (10, 20)
x, y = coordinates
print(f"x: {x}, y: {y}")
出力:
x: 10, y: 20
3. 辞書のループ処理
辞書内のすべてのキーと値を順番に表示するには、items()
メソッドを使います。
person = {
"name": "Alice",
"age": 25,
"city": "Tokyo"
}
for key, value in person.items():
print(f"{key}: {value}")
出力:
name: Alice
age: 25
city: Tokyo
リスト、タプル、辞書の使い分け方
シチュエーション | 使用するデータ構造 |
---|---|
順番が重要で、要素を変更する必要がある場合 | リスト |
順番が重要で、データを変更しない場合 | タプル |
キーと値のペアでデータを格納し、素早く検索したい場合 | 辞書 |
まとめと次のステップ
リスト、タプル、辞書は、Pythonプログラミングの基本的なデータ構造であり、それぞれ異なる特徴を持っています。リストは柔軟性が高く、タプルは変更不可能なデータに適しており、辞書はラベル付きのデータ管理に便利です。
次のステップとして、これらのデータ構造を組み合わせたプログラムや、関数内での応用に挑戦してみましょう!