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

Pythonで辞書をタプルのリストに変換する3つの方法

Pythonでは、コレクション型を別の型へ変換するニーズは非常に頻繁に発生します。本記事では、辞書に含まれるキーと値のペアからタプルを作成し、それらをリストにまとめる方法を解説します。各キーと値のペアが1つのタプルになり、最終的な結果は「タプルを要素とするリスト」となります。

items()メソッドを使う方法

辞書のitems()メソッドを使用すると、キーと値のペアを順番に取り出して反復処理できます。内包表記(またはforループ)でそれぞれのペアをタプルとしてパックし、それらすべてを最終的なリストに格納します。最もシンプルでPythonらしい書き方です。

サンプルコード

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# items() を使用
res = [(k, v) for k, v in dictA.items()]

# 結果を出力
print(res)

実行結果

上記のコードを実行すると、次の出力が得られます。

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

zip()関数を使う方法

もう一つのアプローチは、zip()関数を利用する方法です。zip()はキーと値を対応付けてタプルのペアを生成するため、その結果全体にlist()関数を適用することで、簡単にリストへ変換できます。

サンプルコード

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# zip() を使用
res = list(zip(dictA.keys(), dictA.values()))

# 結果を出力
print(res)

実行結果

上記のコードを実行すると、次の出力が得られます。

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

append()メソッドを使う方法

append()メソッドを使えば、取り出したキーと値のペアからタプルを作成し、それを空のリストに順次追加できます。forループで辞書を反復処理しながら、最終的な結果を組み立てていきます。処理の流れが直感的で、初心者にも理解しやすい方法です。

サンプルコード

dictA = {'Mon': '2 pm', 'Tue': '1 pm', 'Fri': '3 pm'}

# 空のリストを初期化
res = []

# タプルを作成して res に追加
for i in dictA:
    tpl = (i, dictA[i])
    res.append(tpl)

# 結果を出力
print(res)

実行結果

上記のコードを実行すると、次の出力が得られます。

[('Mon', '2 pm'), ('Tue', '1 pm'), ('Fri', '3 pm')]

まとめ

いずれの方法でも同じ結果が得られますが、一般的にはitems()メソッドとリスト内包表記を組み合わせた方法が最も簡潔で可読性が高いとされています。状況や好みに応じて、zip()append()を使った方法も活用してみてください。

  1. Pythonで10進数を2進数のリストに変換する方法

    Pythonは柔軟性の高いプログラミング言語であり、データ処理の中で発生するさまざまな要件に対応できます。10進数の数値を2進数に変換し、さらに各桁をリストとして扱いたい場合には、以下に紹介する2つの方法が便利です。format関数を使う方法書式指定子(フォーマッター)に使う文字によって、数値を10進数・16進数・8進数・2進数など、任意の基数でフォーマットできます。以下の例では、書式指定として0:0bを使用し、format関数に2進数へ変換したい整数を渡しています。その後、文字列化した2進数を1文字ずつint型に変換してリストを作成します。コード例Dnum = 11 print(与えられた

  2. 【Python入門】リスト・タプル・辞書の違いを徹底解説

    Pythonの3大コレクション:リスト、タプル、辞書 Pythonには複数のデータをまとめて扱うためのコレクション型が用意されています。中でもよく使われるのがリスト(list)、タプル(tuple)、辞書(dict)の3つです。それぞれ特徴が異なるため、用途に応じて使い分けることが重要です。 基本的な違いの概要 リストとタプルはシーケンス(順序付き)オブジェクトであり、要素を順番に並べて管理します。一方、辞書はキーと値のペアを格納するハッシュテーブル構造です。 リストとタプルは「順序を持つコレクション」ですが、辞書は「順序を持たないコレクション」として扱われます。 リストと辞書はミュータブ