ray88’s diary

お仕事で困ったとき用の自分用の覚書

Python dict( ) でDictionaryを作る

python 目次 - ray88’s diary
■dict( )を使うことでいろいろな辞書を作成できる。
 ・キーと値のタプルのリストから辞書を作る
 ・キーリストと値のリストを合わせて辞書を作る
【タプル(キー・値)のリストから辞書を作る】

data = dict([("yellow",3),("blue",6),("green",5)])
print("data:",data)

【キーと値のリストを合わせて辞書にする】
・zip( )を利用するとキーのリストと値のリストを合わせて、[キー,値] のタプルのリストをつくることができる。
・タプルのリストから辞書を作れるので、キーのリストと値のリストがあれば
 2つを合わせて辞書にすることができる。
・キーと値の個数が一致しない倍は個数が少ない方に合わせて作られる。
・リストに重複するキーがある場合、その値は後からの値で更新される。

keys = ["yellow","blue","green"]
values = [3,6,5]
data = dict(zip(keys,values)) #辞書に変換する
print("data:",data)

出力結果

【リスト[キー,値]のタプルから辞書を作る】
タプルのリストとは逆で、複数の[キー,値]のリストをタプルにして、
これをdict( ) の引き数として渡しても辞書が作れる。

data = dict ((["yellow",3],["blue",6],["green",5]))
print(data)

出力結果

【キーワード引数を利用する】
・キーワード引数とは関数の引数名を指定して値を渡す方法
・キーワード引数をdict( ) に対して行うおことで辞書のキーと値を指定できる
・引数名は文字列ではないが、辞書になると文字列のキーとして使われる
※以下のコードではyellow,blue,green の引数名がそのまま辞書のキーになっている

ata = dict(yellow = 3,blue = 6, green = 5)
print("data:",data)

出力結果

【サンプルコード】
以下のようなエクセルからディクショナリを生成する

from pathlib import Path
import openpyxl
import pandas as pd
# Path オブジェクトを使用してファイルパスを指定
path = Path("C:/Users/ユーザ名/Desktop/test/dict.xlsx")
sheet_name = "Sheet1"
excel_data = pd.read_excel(path,sheet_name=sheet_name)
# Excelのデータをディクショナリに変換
# キーとして 'Key' 列を、バリューとして 'Value' 列を使用
data_dict = dict(zip(excel_data['Key'], excel_data['Value']))
print("生成されたディクショナリ:", data_dict)

出力結果