【Python入門】リスト・タプル・辞書の違いを徹底解説
Pythonの3大コレクション:リスト、タプル、辞書
Pythonには複数のデータをまとめて扱うためのコレクション型が用意されています。中でもよく使われるのがリスト(list)、タプル(tuple)、辞書(dict)の3つです。それぞれ特徴が異なるため、用途に応じて使い分けることが重要です。
基本的な違いの概要
- リストとタプルはシーケンス(順序付き)オブジェクトであり、要素を順番に並べて管理します。一方、辞書はキーと値のペアを格納するハッシュテーブル構造です。
- リストとタプルは「順序を持つコレクション」ですが、辞書は「順序を持たないコレクション」として扱われます。
- リストと辞書はミュータブル(変更可能)なオブジェクトです。つまり、後から要素の追加や削除が可能です。一方、タプルはイミュータブル(変更不可)であり、作成後に要素を追加・削除することはできません。
記述方法の違い
いずれもカンマ区切りで要素を並べますが、囲む括弧が異なります。
- リスト:角括弧
[]で囲む - タプル:丸括弧
()で囲む - 辞書:波括弧
{}で囲み、「キー: 値」の形式で記述する
>>> L1 = [12, "Ravi", "B.Com FY", 78.50] # リスト
>>> T1 = (12, "Ravi", "B.Com FY", 78.50) # タプル
>>> D1 = {"Rollno": 12, "class": "B.Com FY", "percentage": 78.50} # 辞書
要素へのアクセス方法の違い
リストとタプル:インデックスでアクセス
リストとタプルの要素にはインデックス(添字)が割り当てられており、スライス演算子を使って特定の位置の要素にアクセスできます。
>>> print(L1[2]) B.Com FY >>> print(T1[2]) B.Com FY
辞書:キーでアクセス
辞書の要素にはインデックスが存在せず、キーを指定して値を取得します。角括弧にキーを指定する方法と、get() メソッドを使う方法の2通りがあります。
>>> print(D1['class'])
B.Com FY
>>> print(D1.get('class'))
B.Com FY
get() メソッドは、指定したキーが存在しない場合にエラー(KeyError)を発生させずに None を返すため、安全に値を取得したい場合に便利です。
まとめ:使い分けのポイント
| 種類 | 括弧 | 順序 | 変更可否 | アクセス方法 |
|---|---|---|---|---|
| リスト | [] | あり | 可能 | インデックス |
| タプル | () | あり | 不可能 | インデックス |
| 辞書 | {} | なし | 可能 | キー |
データを後から変更したい場合はリスト、変更されない固定データにはタプル、キーと値の対応付けが必要な場合は辞書を選ぶのが基本です。それぞれの特性を理解して、適切に使い分けましょう。
-
Pythonで辞書の値(リスト)をクリアする2つの方法
この記事では、値としてリストを持つ辞書を扱い、そのリストの中身を空にする(クリアする)方法について解説します。アプローチは主に2つあります。ひとつは clear() メソッドを使う方法、もうひとつは辞書内包表記を使って各キーに空のリストを代入する方法です。方法1:ループと clear() メソッドを使うまず、辞書の各キーに対してループ処理を行い、値であるリストに対して clear() メソッドを呼び出します。この方法では元の辞書オブジェクトを保持したまま、リストの中身だけを空にできます。x1 = {Apple : [4,6,9,2], Grape : [7,8,2,1], Orange : [
-
【初心者向け】Pythonの辞書(dict)をリストに変換する3つの方法
Pythonの辞書をリストに変換するには? Pythonの辞書(dict)クラスには、リストへの変換に便利なメソッドが3つ用意されています。それぞれitems()、keys()、values()で、以下のようなビューオブジェクトを返します。 items():キーと値のペア(タプル)で構成されるビューオブジェクト keys():キーのみで構成されるビューオブジェクト values():値のみで構成されるビューオブジェクト これらのビューオブジェクトは、組み込み関数 list() を使うことで、簡単にリストオブジェクトへ変換できます。 実際のコード例 以下は、辞書から各ビューオブジェクトを取