Pythonで辞書をタプルのリストに変換する3つの方法
Pythonでは、あるコレクション型から別のコレクション型への変換は非常によく行われる操作です。データ処理の要件によっては、辞書に格納されたキーと値のペアを、タプルとしてリストに変換する必要が生じることがあります。この記事では、その実現方法をいくつか紹介します。
items()メソッドとリスト内包表記を使う方法
最もシンプルでPythonらしい方法は、辞書のitems()メソッドをリスト内包表記と組み合わせて使うことです。各キーと値のペアを直接タプル化し、それらをまとめてリストとして生成できます。
サンプルコード
Adict = {30:'Mon',11:'Tue',19:'Fri'}
# 対象となる辞書
print("The given dictionary: ",Adict)
# リスト内包表記を使用
Alist = [(key, val) for key, val in Adict.items()]
# 結果
print("The list of tuples: ",Alist)
実行結果
上記のコードを実行すると、次のような出力が得られます。
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'}
The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
zip()関数を使う方法
zip()関数は、引数として渡された複数のイテラブルを組み合わせる働きを持ちます。そこで、辞書のキー(keys())と値(values())をそれぞれ引数として渡し、その結果をlist()関数で囲むことで、キーと値のペアがタプルとなったリストを作成できます。
サンプルコード
Adict = {30:'Mon',11:'Tue',19:'Fri'}
# 対象となる辞書
print("The given dictionary: ",Adict)
# zipを使用
Alist = list(zip(Adict.keys(), Adict.values()))
# 結果
print("The list of tuples: ",Alist)
実行結果
上記のコードを実行すると、次のような出力が得られます。
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'}
The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
append()メソッドを使う方法
この方法では、まず空のリストを作成し、forループを使って辞書からキーと値のペアを1つずつ取り出しながら、それぞれタプルとしてリストに追加していきます。処理の流れが分かりやすく、初心者にも理解しやすいアプローチです。
サンプルコード
Adict = {30:'Mon',11:'Tue',19:'Fri'}
# 対象となる辞書
print("The given dictionary: ",Adict)
Alist = []
# appendを使用
for x in Adict:
k = (x, Adict[x])
Alist.append(k)
# 結果
print("The list of tuples: ",Alist)
実行結果
上記のコードを実行すると、次のような出力が得られます。
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'}
The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
まとめ
いずれの方法でも同じ結果が得られますが、一般的にはitems()メソッドを使ったリスト内包表記が最も簡潔で効率的です。パフォーマンスや可読性など、用途に応じて最適な方法を選択しましょう。
-
Pythonでタプルのリストを辞書に変換する方法を解説
Pythonでは、キーと値のペアを持つタプルのリストを、簡単に辞書(dict)へ変換できます。本記事では、setdefault()メソッドやdict()コンストラクタを使った変換方法を、具体例とともにわかりやすく解説します。 変換のイメージ まずは、どのような変換が行われるのかを見てみましょう。タプルのリストの各要素の第1引数が辞書の「キー」に、第2引数が「値」に対応します。 入力: [(Adwaita, 5), (Aadrika, 5), (Babai, 37), (Mona, 7), (Sanj, 25), (Sakya, 30)] 出力: {Adwaita: 5, Aadr
-
【初心者向け】Pythonの辞書(dict)をリストに変換する3つの方法
Pythonの辞書をリストに変換するには? Pythonの辞書(dict)クラスには、リストへの変換に便利なメソッドが3つ用意されています。それぞれitems()、keys()、values()で、以下のようなビューオブジェクトを返します。 items():キーと値のペア(タプル)で構成されるビューオブジェクト keys():キーのみで構成されるビューオブジェクト values():値のみで構成されるビューオブジェクト これらのビューオブジェクトは、組み込み関数 list() を使うことで、簡単にリストオブジェクトへ変換できます。 実際のコード例 以下は、辞書から各ビューオブジェクトを取