Python dict (辞書) は 下記のように記述します。
actress = {"actress1":"夏夜える","actress2":"三田真鈴","actress3":"長浜みつり","actress4":"三崎なな"}
dict Key リスト(配列)にして取出す
Keyだけを取り出す場合 keys()を使います
actress = {"actress1":"夏夜える","actress2":"三田真鈴","actress3":"長浜みつり","actress4":"三崎なな"} key_name = actress.keys() print(key_name)
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()にいれると 重複が消えるようです
その後ソートした結果↓
Key一覧を取得できました
上のコードを keys()をvalues()に変更すると
['伊織ひなの', '前田美波', '大原あむ', '木村好乃美', '森咲はるの', '琴石ゆめる', '真白みのり', '胡桃さくら']
値の取得が可能です
list内がクラスの場合、クラス から dict変換 したあとに処理すれば 同じ結果が得られます