Python で辞書をタプルに変換する

Manav Narula 2023年1月30日
  1. Python で辞書をタプルのリストに変換するために items() 関数を使用する
  2. Python で辞書をタプルのリストに変換するために for ループを使用する
  3. リスト内包表記を使って辞書をタプルのリストに変換する
  4. 辞書をタプルのリストに変換するために zip() 関数を使用する
Python で辞書をタプルに変換する

Python では、様々なコレクションを利用することができますが、あるコレクションを必要に応じて別のコレクションに変換する必要がある場合があります。

辞書は Python でキーと値のペアを保存するために使用されます。このチュートリアルでは、これらのキーと値のペアをタプルとしてリストに格納する様々な方法について説明します。

Python で辞書をタプルのリストに変換するために items() 関数を使用する

関数 items() は、辞書のキーと値のペアをタプルとしてリストにしたビューオブジェクトを返します。これを list() 関数と併用することで、最終的な結果をリストとして取得することができます。以下のコードはこれを実装したものです。

d1 = {"x": 1, "y": 2, "z": 3}
l1 = list(d1.items())
print(l1)

出力:

[('x', 1), ('y', 2), ('z', 3)]

Python 3.x では、iteritems() 関数でも同じ関数を実行できることに注意してください。

Python で辞書をタプルのリストに変換するために for ループを使用する

このメソッドでは、for ループを用いて辞書を反復処理します。キーを使って要素にアクセスし、空のリストに追加されるタプルを作成します。以下のコードはこれを実装したものです。

d1 = {"x": 1, "y": 2, "z": 3}
l2 = []

for i in d1:
    tpl = (i, d1[i])
    l2.append(tpl)

print(l2)

出力:

[('x', 1), ('y', 2), ('z', 3)]

リスト内包表記を使って辞書をタプルのリストに変換する

リスト内包表記は、一行のコードでリストを作成するエレガントな方法です。このメソッドでは、以下のように for ループと items() 関数を併用します。

d1 = {"x": 1, "y": 2, "z": 3}
l3 = [(v, k) for v, k in d1.items()]
print(l3)

出力:

[('x', 1), ('y', 2), ('z', 3)]

辞書をタプルのリストに変換するために zip() 関数を使用する

関数 zip() は、2つの反復可能なオブジェクトを結合してタプルを形成し、zip 型のオブジェクトを返します。このオブジェクトを list() 関数に渡すことで、最終的な結果を新しいリストとして取得することができます。

d1 = {"x": 1, "y": 2, "z": 3}
l4 = list(zip(d1.keys(), d1.values()))
print(l4)

出力:

[('x', 1), ('y', 2), ('z', 3)]

上記のコードでは、keys()values() 関数を用いて辞書からキーと値のリストを取得し、zip() 関数を用いてそれらを結合しています。

著者: 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