Python 辞書インデックス

Manav Narula 2023年1月30日
  1. インデックスを使用して辞書からキーにアクセスする
  2. Python のインデックスを使用して辞書から値にアクセスする
  3. Python のインデックスを使用して、辞書からキーと値のペアにアクセスする
Python 辞書インデックス

辞書は、Python でキーと値のペアを格納するために使用されます。一般に、リストや配列などの他のコレクションの要素のインデックスを使用して辞書にアクセスすることはできません。

Python 3.7 より前は、辞書は無秩序でした。各キー値は、辞書でランダムな順序で指定されます。このような場合、collections モジュールの OrderedDict() メソッドを使用できます。キーと値のペアがディクショナリに追加される順序を保持します。

Python 3.7 以降では、辞書はデフォルトで順序を保持するようになりました。

順序が保持されている辞書のインデックスを使用して、キー、値、およびキーと値のペアにアクセスできます。

インデックスを使用して辞書からキーにアクセスする

キーのコレクションを返す keys() メソッドを使用します。リストに変換した後、インデックスを使用して、このコレクションから必要なキーにアクセスできます。

keys()values() および items() 関数で list() 関数を使用することを忘れないでください。これは、従来のリストを返さず、インデックスを使用した要素へのアクセスを許可しないためです。

以下はこれを示しています。

d = {}
d["a"] = 0
d["b"] = 1
d["c"] = 2
keys = list(d.keys())
print(keys[1])

出力:

b

Python 3.7 未満で作業する場合は、OrderedDict() メソッドを使用して、順序を維持したまま必要な辞書を作成することを忘れないでください。例えば、

from collections import OrderedDict

d1 = OrderedDict()
d1["a"] = 0
d1["b"] = 1
d1["c"] = 2
keys = list(d1.keys())
print(keys[1])

出力:

b

Python のインデックスを使用して辞書から値にアクセスする

ディクショナリからすべての値のコレクションを返したい場合は、values() 関数を使用します。

d = {}
d["a"] = 0
d["b"] = 1
d["c"] = 2
values = list(d.values())
print(values[1])

出力:

1

Python のインデックスを使用して、辞書からキーと値のペアにアクセスする

items() 関数は、各要素がタプルとして格納された、辞書のすべてのキーと値のペアのコレクションを返します。

インデックスを使用して、リストからこれらのペアにアクセスできます。

d = {}
d["a"] = 0
d["b"] = 1
d["c"] = 2
values = list(d.items())
print(values[1])

出力:

('b', 1)

お使いのバージョンの Python が辞書の順序を保持していない場合は、すべてのメソッドで OrderedDict() 関数を使用することを忘れないでください。

著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python Dictionary