Python辞書のデータ構造を学ぶ–パート3


Pythonデータ構造シリーズのこのパート3では、辞書とは何か、Pythonの他のデータ構造との違い、辞書オブジェクトの作成、削除、および辞書オブジェクトのメソッドについて説明します。

  • Dictionary is a built-in implementation of “Python Data Structure” which is a collection of “Key: Value” pairs.
  • Dictionary is created using curly braces with key and value separated by semicolon {Key : Value}.
  • Similar to list, dictionaries objects are mutable data type meaning objects can be modified once the dictionary is created.
  • The construct of dictionary implementation in python is more generally known as “Associative array”.
  • In list or tuples, we can access the items by referencing their index positions because items inside the list are ordered (i.e. Stored in the order they got created). The dictionary objects can be in any order since the items are accessed using its associated “Key”.
  • Dictionaries are very useful when we have to store the objects and refer them by name.
  • Dictionary “key” object must be a unique and immutable type.
  • Dictionary “Key” object can be either string, Integer, Floating values.
  • Dictionary “Values” can be of any data type.

辞書オブジェクトを構築する

辞書オブジェクトは、キーと値のペア「{Key:value}」または「dict()」コンストラクターメソッドをセミコロンで区切る中括弧を使用して作成できます。

実例を示すために、位置をキー、プレーヤー名を値として、サッカーチームとそのプレー中のXIに関するデータを格納する辞書を作成します。

コンストラクターメソッドdict()を使用して、辞書オブジェクトを作成できます。

Dictonaryオブジェクトにアクセスする

辞書項目は、索引付けではなく「キー」参照によってアクセスされます。ディクショナリ内にシーケンスデータ型(文字列、リスト、タプルなど)がある場合は、インデックスを使用できます。

アイテムには、dic_object [“ key”]を使用してアクセスできます。

インデックスを使用して辞書アイテムにアクセスしようとした場合、または辞書の一部ではない「キー」にアクセスしようとした場合、「KeyError」が発生します。

辞書オブジェクトの変更と削除

キーDictionary_object [“ key”] u003d valueを直接参照することにより、既存のアイテムを変更したり、新しいアイテムを追加したりできます。これにより、キーが使用可能な場合は値が更新されます。それ以外の場合は、辞書に新しいアイテムが追加されます。

組み込みの「del」キーワードを使用して、キーに基づいて特定の値を削除したり、キーを削除したり、名前空間から辞書オブジェクトを削除したりできます。

組み込みの「dir()」関数を使用して、ディクショナリオブジェクトで使用可能なメソッドと属性を検索できます。

clear()–このメソッドは、ディクショナリオブジェクトからすべてのアイテムを削除します。このメソッドは引数を取りません。

Copy()–辞書オブジェクトの浅いコピーを返します。 copy()メソッドは、引数としてパラメータを取りません。

Keys()–このメソッドは、ディクショナリで使用可能なキーのビューオブジェクトをディクショナリキーオブジェクトとして返します。このメソッドは引数を取りません。

Values()–このメソッドは、ディクショナリオブジェクトから値のビューオブジェクトを返します。このメソッドは引数を取りません。

Items()–このメソッドは、辞書オブジェクトからtuple(key、value)ペアを返します。

2つの引数dic.setdefault(key、[、default value])を取ります。

値が指定されていない場合、デフォルト値は「なし」に設定されます。

get()–このメソッドは、キーが辞書で使用可能な場合、指定されたキーの値を返します。

Syntax dict.get(key[, value]) 

このメソッドは2つの引数を取ります。 1つ目は、辞書で指定されたキーを検索し、見つかったキーの値を返す入力引数です。キーが見つからない場合、2番目の引数は値を返します。デフォルトの戻り値は「なし」に設定されています。

Update()–キーがディクショナリにない場合、Updateメソッドはディクショナリにアイテムを追加します。キーが見つかった場合、そのキーは新しい値で更新されます。 Updateメソッドは、タプルのペアのようなk:vペアの別の辞書オブジェクトまたはk:vペアの反復可能なオブジェクトのいずれかを受け入れます。

ディクショナリオブジェクトの削除/削除

Pop()–このメソッドは、入力としてのキーに基づいて値を削除し、削除された値を返します。

このメソッドは2つのパラメーターを受け入れます。

  1. Key – The key to be searched in the dictionary object.
  2. Default – Return value to be specified if the key is not found in the dictionary.

注キーが辞書に見つからず、デフォルト値を指定しなかった場合、「KeyError」が発生します。

Popitem()–辞書オブジェクトから任意の要素を削除します。引数は受け入れられず、辞書が空であると言われると「KeyError」を返します。

リストやタプルと同様に、delキーワードを使用して、辞書オブジェクト内のアイテムを削除したり、名前空間から辞書オブジェクトを削除したりできます。

この記事では、辞書とは何か、そしてそれがPythonの他のデータ構造とどのように異なるかを見てきました。また、ディクショナリオブジェクトを作成、アクセス、変更、および削除する方法についても説明しました。

辞書の最適な使用例は、名前に基づいてデータを保存し、その名前で参照する必要がある場合です。次の記事では、別のタイプのPython組み込みデータ構造「set/Frozenset」について説明します。それまでは、ここで辞書の詳細を読むことができます。