本記事では、リストとタプルを辞書へ変換する方法について紹介します。
本記事では、以下の内容について紹介しています。
この記事で分かること
■リストから辞書へ変換する方法
- 1つの2次元リストから辞書へ変換【dict関数】
- 2つのリストから辞書へ変換【zip関数とdict関数の組合せ】
- 2つのリストから辞書へ変換【zip関数と内包表記の組合せ】
- 2つのリストから辞書へ変換【if + 条件式と組合せ】
■タプルから辞書へ変換する方法
スポンサーリンク
リスト(list)を辞書(dict)へ変換
リストから辞書へ変換する方法について、紹介します。
基本的にはタプルから辞書への変換についても、同じ方法で対応できます。
2次元リストから辞書へ変換【dict関数】
はじめに、"キーと値の組合せたリスト" を要素にもつ、2次元のリスト辞書へ変換する方法について紹介します。
pythonの組み込み関数のdict関数を用いて辞書に変換できます。
以下、dict関数を用いて、2次元リストを辞書へ変換するサンプルコードです。
### 2次元リストから辞書へ変換【dict関数】
fruits_list = [['Apple',100], ['Banana',150], ['Grape',500]]
print(fruits_list)
# [['Apple', 100], ['Banana', 150], ['Grape', 500]]
fruits_dict = dict(fruits_list)
print(fruits_dict)
# {'Apple': 100, 'Banana': 150, 'Grape': 500}
print(type(fruits_dict))
# <class 'dict'>
> fruits_dict = dict(fruits_list)
2次元リストを、dict関数の引数に渡すだけで、辞書に変換できます。
2つのリストから辞書へ変換【zip関数とdict関数の組合せ】
次に、キーだけを要素に持つリストと、値だけを要素に持つリスト、この2つのリストを辞書に変換する方法を紹介します。
以下、zip関数とdict関数を用いて、2つのリストを辞書に変換するサンプルコードです。
zip関数を用いることで、引数に渡した2つのリストの要素を同時に取り出すことができます。
### 2つのリストを辞書へ変換
fruits_list = ['Apple', 'Banana', 'Grape', 'Peach', 'Melon']
prices_list = [100, 150, 500, 200, 1000]
fruits_dict = dict(zip(fruits_list, numbers_list))
print(fruits_dict)
# {'Apple': 100, 'Banana': 150, 'Grape': 500, 'Peach': 200, 'Melon': 1000}
print(type(fruits_dict))
# <class 'dict'>
zip関数の使い方については、下記の記事で紹介しています。
スポンサーリンク
2つのリストから辞書へ変換【zip関数と内包表記の組合せ】
dict関数の代わりに辞書内包表記を用いても、2つのリストから辞書へ変換することができます。
以下、zip関数と内包表記を用いて、2つのリストを辞書に変換するサンプルコードです。
### 2つのリストを辞書へ変換
fruits_list = ['Apple', 'Banana', 'Grape', 'Peach', 'Melon']
prices_list = [100, 150, 500, 200, 1000]
fruits_dict = { fruit:price for fruit, price in zip(fruits_list, prices_list)}
print(fruits_dict)
# {'Apple': 100, 'Banana': 150, 'Grape': 500, 'Peach': 200, 'Melon': 1000}
print(type(fruits_dict))
# <class 'dict'>
> fruits_dict = { fruit:price for fruit, price in zip(fruits_list, prices_list)}
zip関数を用いて、fruits_list と prices_list の 2つのリストから同時に要素を取得し、変数fruit、priceに渡しています。
この変数のfruitをキー、priceを値として新たな辞書を作成しています。
内包表記については、下記の記事で紹介しています。
2つのリストから辞書へ変換【if + 条件式と組合せ】
2つのリストから辞書へ変換する際に、条件を満たす要素のみを辞書へ変換する方法を紹介します。
前述の内包表記に、if + 条件式 を追加しています。
### 2つのリストのうち、条件に当てはまった要素を辞書に変換
fruits_list = ['Apple', 'Banana', 'Grape', 'Peach', 'Melon']
prices_list = [100, 150, 500, 200, 1000]
fruits_dict = {fruit:price for fruit, price in zip(fruits_list, prices_list) if price >= 500}
print(fruits_dict)
# {'Grape': 500, 'Melon': 1000}
print(type(fruits_dict))
# <class 'dict'>
タプル(tuple)を辞書(dict)へ変換
タプルから辞書への変換も、リストから辞書と同じ方法で変換できます。
以下、 zip関数と内包表記を用いて、2つのタプルを辞書に変換するサンプルコードです
### 2つのリストを辞書へ変換
fruits_tuple = ('Apple', 'Banana', 'Grape')
prices_tuple = (100, 150, 500)
print(type(fruits_tuple))
# <class 'tuple'>
fruits_dict = {fruit:price for fruit, price in zip(fruits_tuple, prices_tuple)}
print(fruits_dict)
# {'Apple': 100, 'Banana': 150, 'Grape': 500}
print(type(fruits_dict))
# <class 'dict'>
リストと同じ方法で、タプルから辞書へ変換できています。
スポンサーリンク
まとめ
リストとタプルを辞書へ変換する方法について紹介しました。
リストやタプルを辞書へ変換する際には、zip関数や内包表記の使い方を覚えておくと便利です。
是非、zip関数や内包表記の使い方などの関連記事も確認してみてください。
スポンサーリンク