Pythonでタプルのリストを辞書に変換する方法を解説
この記事では、Pythonを使ってタプルのリストを辞書に変換する方法を学びます。タプルのリストから辞書への変換は、実はとてもシンプルな操作です。基本的な変換方法に加えて、setdefault()メソッドを使って値をリスト形式で格納する応用テクニックも紹介します。
基本的な変換手順
以下の手順に従ってコードを作成しましょう。
- タプルを含むリストを初期化します。
dict()関数を使用して、タプルのリストを辞書に変換します。- 結果の辞書を出力します。
サンプルコード
それでは、実際のコードを見てみましょう。
# リストの初期化
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]
# 辞書へ変換
result = dict(tuples)
# 結果の出力
print(result)上記のコードを実行すると、次のような結果が得られます。
出力結果
{'Key 1': 1, 'Key 2': 2, 'Key 3': 3, 'Key 4': 4, 'Key 5': 5}
dict()関数は、キーと値のペアを持つタプルのリストを受け取り、そのまま辞書オブジェクトへと変換してくれます。各タプルの最初の要素がキー、2番目の要素が値として扱われる点に注意してください。
setdefault()メソッドで値をリストとして格納する
次に、setdefault()メソッドを使って、結果の辞書の値をリスト形式で格納する方法を紹介します。同じキーに対して複数の値をまとめたい場合に便利なテクニックです。
以下の手順に従ってコードを作成します。
- タプルを含むリストを初期化します。
- タプルのリストを反復処理します。
- キーにデフォルト値(空のリスト)を設定し、値を追加します。
- 結果を出力します。
サンプルコード
実際のコードを見てみましょう。
# リストの初期化
tuples = [('Key 1', 1), ('Key 2', 2), ('Key 3', 3), ('Key 4', 4), ('Key 5', 5)]
# 結果を格納する辞書
result = {}
# タプルのリストを反復処理
for (key, value) in tuples:
# デフォルト値として空のリスト([])を設定し、
# 現在の値を追加
result.setdefault(key, []).append(value)
# 結果の出力
print(result)上記のコードを実行すると、次のような結果になります。
出力結果
{'Key 1': [1], 'Key 2': [2], 'Key 3': [3], 'Key 4': [4], 'Key 5': [5]}
setdefault(key, [])は、指定したキーが辞書に存在しない場合に第2引数の値(ここでは空のリスト)をデフォルト値として設定し、その値を返すメソッドです。これにより、同じキーに対して複数の値を安全に追加できるようになります。例えば、[('Key 1', 1), ('Key 1', 10)]のような重複キーを含むデータでも、{'Key 1': [1, 10]}のように値がまとめられます。
まとめ
この記事では、Pythonでタプルのリストを辞書に変換する2つの方法を紹介しました。dict()関数を使えばワンライナーで簡単に変換でき、setdefault()メソッドを使えば値をリストとして柔軟に管理できます。用途に応じて使い分けてみてください。記事についてご不明な点がある場合は、コメント欄でお気軽にお尋ねください。
-
Pythonのタプルリストから要素の出現頻度を求める方法
Pythonでは、さまざまな種類のデータコンテナが混在することがよくあります。たとえば、リストの各要素がタプルになっているケースです。本記事では、このような「タプルを要素とするリスト」から、特定の要素が出現する頻度(出現回数)を求める2つの方法を紹介します。 方法1:count() と map() を使う まず、ラムダ式(lambda)を使ってリスト内の各タプルの先頭要素を取り出し、map() 関数でそれらをまとめたうえで、count() を適用して目的の要素の合計出現回数を取得します。 コード例 # タプルのリストを初期化 listA = [(Apple, Mon), (Banana, Tu
-
Pythonでタプルのリストを辞書に変換する方法を解説
Pythonでは、キーと値のペアを持つタプルのリストを、簡単に辞書(dict)へ変換できます。本記事では、setdefault()メソッドやdict()コンストラクタを使った変換方法を、具体例とともにわかりやすく解説します。 変換のイメージ まずは、どのような変換が行われるのかを見てみましょう。タプルのリストの各要素の第1引数が辞書の「キー」に、第2引数が「値」に対応します。 入力: [(Adwaita, 5), (Aadrika, 5), (Babai, 37), (Mona, 7), (Sanj, 25), (Sakya, 30)] 出力: {Adwaita: 5, Aadr