この記事では、Pythonで辞書とリストを相互に変換する方法について解説します。具体的なコード例とその解説、さらには応用例を3つ以上掲載しています。
目次
基本的な変換方法
Pythonにおいて、辞書とリストの変換は非常に頻繁に行われる操作です。このセクションでは、基本的な変換方法を見ていきます。
辞書からリストへの変換
# 辞書からリストへ変換する例
dictionary = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
list_keys = list(dictionary.keys()) # キーのリスト
list_values = list(dictionary.values()) # 値のリスト
リストから辞書への変換
# リストから辞書へ変換する例
keys = ['key1', 'key2', 'key3']
values = ['value1', 'value2', 'value3']
dictionary = dict(zip(keys, values))
詳細な解説
辞書の`keys()`と`values()`メソッド
辞書からリストへ変換する際に用いる`keys()`メソッドと`values()`メソッドは、それぞれ辞書のキーと値を抽出します。これらは`dict_keys`と`dict_values`というオブジェクトを返すため、明示的に`list()`で変換しています。
`zip`関数と`dict`関数
`zip`関数は2つのリストを組み合わせ、その結果をイテレータとして返します。`dict`関数にこのイテレータを渡すことで、リストから辞書への変換が可能です。
応用例
リスト内包表記での変換
辞書を生成する際にリスト内包表記を使う例です。
# リスト内包表記で辞書を生成
dictionary = {f'key{i}': f'value{i}' for i in range(3)}
条件付きでの変換
特定の条件を満たす場合のみ、辞書に追加する例です。
# 条件を満たす要素だけを辞書に追加
dictionary = {key: value for key, value in zip(keys, values) if '2' not in key}
複数の辞書のマージ
複数の辞書を一つにマージする例です。
# 複数の辞書を一つにマージ
dict1 = {'key1': 'value1', 'key2': 'value2'}
dict2 = {'key3': 'value3', 'key4': 'value4'}
merged_dict = {**dict1, **dict2}
まとめ
Pythonでの辞書とリストの相互変換は非常に便利で、日常的なプログラミングで頻繁に使用されます。この記事で紹介した基本的な方法や応用例をぜひ活用してみてください。
コメント