Python
 Computer >> コンピューター >  >> プログラミング >> Python

【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 を返すため、安全に値を取得したい場合に便利です。

まとめ:使い分けのポイント

種類括弧順序変更可否アクセス方法
リスト[]あり可能インデックス
タプル()あり不可能インデックス
辞書{}なし可能キー

データを後から変更したい場合はリスト、変更されない固定データにはタプル、キーと値の対応付けが必要な場合は辞書を選ぶのが基本です。それぞれの特性を理解して、適切に使い分けましょう。

  1. Pythonで辞書の値(リスト)をクリアする2つの方法

    この記事では、値としてリストを持つ辞書を扱い、そのリストの中身を空にする(クリアする)方法について解説します。アプローチは主に2つあります。ひとつは clear() メソッドを使う方法、もうひとつは辞書内包表記を使って各キーに空のリストを代入する方法です。方法1:ループと clear() メソッドを使うまず、辞書の各キーに対してループ処理を行い、値であるリストに対して clear() メソッドを呼び出します。この方法では元の辞書オブジェクトを保持したまま、リストの中身だけを空にできます。x1 = {Apple : [4,6,9,2], Grape : [7,8,2,1], Orange : [

  2. 【初心者向け】Pythonの辞書(dict)をリストに変換する3つの方法

    Pythonの辞書をリストに変換するには? Pythonの辞書(dict)クラスには、リストへの変換に便利なメソッドが3つ用意されています。それぞれitems()、keys()、values()で、以下のようなビューオブジェクトを返します。 items():キーと値のペア(タプル)で構成されるビューオブジェクト keys():キーのみで構成されるビューオブジェクト values():値のみで構成されるビューオブジェクト これらのビューオブジェクトは、組み込み関数 list() を使うことで、簡単にリストオブジェクトへ変換できます。 実際のコード例 以下は、辞書から各ビューオブジェクトを取