
【Python入門】4章のまとめ
4章では、Pythonのデータ構造であるリスト、タプル、集合、辞書について、その基本操作から便利な機能まで幅広く解説してきました。各データ構造は用途や特性が異なり、目的に応じた使い分けが求められます。ここでは、4章で学んだ内容を大まかに振り返り、それぞれの操作方法や注意点、実践的な利用例を整理してまとめます。以下の各項目ごとに、主要なポイントと例を表やコードとともに説明していきます。

プログラムのダウンロード
「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。
1.リストとその操作
1.1. リストの使い方と基本操作
- リストは角括弧
[]
を使って作成し、順序付けられた要素を保持します。 - リストはミュータブルであり、要素の追加、削除、変更が可能です。
例:
# リストの作成例
fruits = ['apple', 'banana', 'cherry', 'orange']
print(fruits) # 出力例: ['apple', 'banana', 'cherry', 'orange']
1.2. インデックスとスライス、代入の注意点
- リストは0始まりのインデックスでアクセスし、スライス構文
リスト[開始:終了]
によって部分リストを取り出します。 - 代入時は、範囲外のインデックスに注意が必要です。
例:
# インデックスとスライスの例
print(fruits[1]) # 'banana'
print(fruits[1:3]) # ['banana', 'cherry']
1.3. リスト要素の追加、削除、文字列との変換など
append
やextend
で要素を追加し、del
やpop
で削除できます。join
メソッドやlist
関数を使って、リストと文字列の相互変換が可能です。- また、
sort
メソッドやsorted
関数を使って並べ替え、min
関数とmax
関数で最小値・最大値を取得できます。
表:リストの基本操作
操作 | コード例 | 説明 |
---|---|---|
追加 | fruits.append('kiwi') | リスト末尾に要素を追加 |
削除 | del fruits[2] | インデックス2の要素を削除 |
文字列への変換 | '/'.join(fruits) | 要素を'/'で連結して文字列に変換 |
並べ替え | fruits.sort() | リスト内の要素を昇順に並べ替え |
2.タプルの基本操作とその応用
2.1. タプルとは
- タプルは丸括弧
()
で作成するイミュータブルなシーケンス型です。 - 要素の変更ができないため、定数データや安全性が求められる場面で使用されます。
例:
# タプルの作成例
dimensions = (1920, 1080)
print(dimensions) # 出力例: (1920, 1080)
2.2. タプルのインデックス、スライス、パッキング・アンパッキング
- タプルはリストと同様にインデックスとスライスでアクセスできます。
- 複数の値をまとめたり展開したりするパッキングとアンパッキングが可能です。
例:
# アンパッキングの例
point = (10, 20, 30)
x, y, z = point
print("x:", x, "y:", y, "z:", z)
2.3. その他の便利なタプル操作と階層的なデータ構造
タプルは集合や辞書のキーとして利用でき、階層的なデータ構造(例えば、商品の詳細情報をタプルにまとめ、リストに格納する)にも適しています。
3.集合とハッシュ法の利用
3.1. 集合の作成と基本操作
- 集合は波括弧
{}
を用いて作成し、重複を排除した要素を保持します。 in
およびnot in
演算子で、要素の存在確認が高速に行えます。
例:
# 集合の作成例
colors = {'red', 'green', 'blue', 'yellow'}
print(colors) # 出力例: {'red', 'green', 'blue', 'yellow'}
3.2. 集合への追加・削除と特有の演算
add
メソッドや累算代入文|=
を用いて要素を追加し、remove
、discard
、pop
、clear
で削除できます。- 和集合、積集合、差集合、対称差など、集合固有の演算が利用できます。
表:集合の基本演算
演算子 | 例 | 結果例 |
---|---|---|
和集合 | `colors1 | colors2` |
積集合 | colors1 & colors2 | 両集合に共通する要素 |
差集合 | colors1 - colors2 | 一方の集合からもう一方の要素を除外 |
対称差 | colors1 ^ colors2 | どちらか一方にのみ存在する要素 |
3.3. ハッシュ法の仕組みとハッシュの計算
- 集合や辞書は、ハッシュ関数を使って要素のハッシュ値を計算し、ハッシュテーブル内に格納します。
hash()
関数により、文字列やタプルなどのハッシュ値が計算できる値に対して、整数値が返されます。
例:
print("hash('green') =", hash('green'))
4.辞書の操作とその便利な機能
4.1. 辞書の作成とキーと値の管理
- 辞書は波括弧
{}
を使い、「キー: 値」のペアを格納します。 - キーはハッシュ可能なイミュータブルな型でなければなりません。
例:
# 辞書の作成例:国コードをキー、国名を値とする
countries = {'us': 'United States', 'jp': 'Japan', 'de': 'Germany'}
print(countries)
4.2. 辞書に格納した値の取得
- 角括弧
[]
やget
メソッドを使って、キーに対応する値を取得します。 - 存在しないキーを参照する場合、
get
メソッドを使えば例外を避けられます。
例:
print("キー 'jp' の値:", countries['jp'])
print("キー 'fr' の値:", countries.get('fr', 'France'))
4.3. 辞書に対する要素の追加と削除
- 辞書に新たな要素を追加するには、
辞書[キー] = 値
の形式で行い、同じキーが存在する場合は値が上書きされます。 del
文やpop
メソッド、clear
メソッドで要素の削除が可能です。
例:
# 要素の追加と更新
countries['it'] = 'Italy'
countries['de'] = 'Deutschland'
print("更新後の辞書:", countries)
# 要素の削除
del countries['jp']
print("削除後の辞書:", countries)
表:辞書の便利な操作
操作内容 | コード例 | 説明 |
---|---|---|
要素数の確認 | len(countries) | 辞書に含まれるキーと値のペアの個数を返す |
キーの存在確認 | 'us' in countries | キーが辞書に含まれているかどうかを判定 |
値の取得(角括弧) | countries['de'] | 指定したキーに対応する値を返す |
値の取得(getメソッド) | countries.get('fr', 'France') | 存在しない場合、デフォルト値を返す |
要素の追加・更新 | countries['it'] = 'Italy' | キーが存在しなければ追加、存在すれば上書き |
要素の削除(del文) | del countries['jp'] | 指定したキーの要素を削除(存在しないと KeyError が発生) |
要素の削除(popメソッド) | countries.pop('de', 'Default') | 指定したキーの要素を削除し、その値を返す(デフォルト値指定可能) |
まとめ
4章では、リスト、タプル、集合、辞書といった主要なデータ構造の基本操作と、各構造に対する便利な操作について詳しく学びました。
- リストとタプルは、インデックス・スライス操作や変換、並べ替え、最小・最大値の取得など、シーケンスとしての操作が中心でした。
- 集合は、ハッシュ法を利用した高速な要素の追加・削除、集合特有の演算、要素数の取得など、集合論に基づく操作が可能です。
- 辞書は、キーと値の組を管理し、キーを使った高速な検索、要素の追加・更新・削除、さらに便利なビュー操作などが提供され、実世界の辞書のような使い勝手を実現しています。
これらの操作を統合的に理解することで、Pythonにおけるデータ管理の柔軟性と効率性を大いに高め、実践的なプログラミングに役立てることができるでしょう。