Python dict (辞書) から キー ( Key ) と 値 ( Value) を取出す | スクラムとは 仕事が進まなく技術力もないリーダーのごっこ遊び

Python dict (辞書) から キー ( Key ) と 値 ( Value) を取出す

Python dict (辞書) は 下記のように記述します。

actress = {"actress1":"夏夜える","actress2":"三田真鈴","actress3":"長浜みつり","actress4":"三崎なな"}

dict Key リスト(配列)にして取出す

Keyだけを取り出す場合 keys()を使います

actress = {"actress1":"夏夜える","actress2":"三田真鈴","actress3":"長浜みつり","actress4":"三崎なな"}
key_name = actress.keys()
print(key_name)

結果↓
Python Keys 取得結果1

 

dict Value リスト(配列)にして取出す

Valueだけを取出す場合は、 values()を使います
actress = {"actress1":"夏夜える","actress2":"三田真鈴","actress3":"長浜みつり","actress4":"三崎なな"}
values = actress.values()
print(values) 

結果↓

['夏夜える', '三田真鈴', '長浜みつり', '三崎なな']

 

dict key,value 両方取出す

for key,value in {"actress1":"藍芽みずき","actress2":"有馬美玖","actress3":"月野江すい","actress4":"南本まや"}.items():
    print(f"{key}={value}")
↑ dict 変数に対し items()を実行すると Key,Valueが取得できます
 

dict を 配列 に入れている場合のKey取得

様々な要素が入った dict をリストに収納していて 全体のKeyを配列で取得したい場合
actress_list = [{"actress1":"木村好乃美","actress2":"琴石ゆめる","actress3":"真白みのり","actress4":"森咲はるの"},
           {"actress1":"胡桃さくら","actress2":"大原あむ"},
           {"actress5":"前田美波","actress6":"伊織ひなの"}]
#  keys2 = [act.keys() for act in actress_list]
↑上記の場合 keys2は dict_keys()の配列になってしまう
keys =[]
for a in [act.keys() for act in actress_list]:
    for b in a:
        keys.append(b) # ← リストそれぞれのキーをkeys(配列)に入れる
# ↓ 重複を消す
keys = list(set(keys))
# ↓ ソート
keys.sort()
set()にいれると 重複が消えるようです
その後ソートした結果↓
Python Keys 取得 2
Key一覧を取得できました
上のコードを keys()をvalues()に変更すると
['伊織ひなの', '前田美波', '大原あむ', '木村好乃美', '森咲はるの', '琴石ゆめる', '真白みのり', '胡桃さくら']
値の取得が可能です
 
list内がクラスの場合、クラス から dict変換 したあとに処理すれば 同じ結果が得られます