一つのキーに複数の値を辞書型で保存する方法
VSCodeでPythonのコードを書いています。
あるプログラマーの方に課題を出して頂いたのですが、今回は自力で解決できなかったため、こちらで質問させてください。
一つのキーに複数の値を辞書型で保存したいです。
age = [25, 30, 18, 52, 68, 41, 55, 24, 19, 36, 40, 62]
sex = ['man','woman','woman','woman','man','woman','man','man','man','woman','man','woman']
list_dict = dict(zip(age,sex))
for age, sex in list_dict.items():
print(age, sex)
print(list_dict)
#{25: 'man', 30: 'woman', 18: 'woman', 52: 'woman', 68: 'man', 41: 'woman', 55: 'man', 24: 'man', 19: 'man', 36: 'woman', 40: 'man', 62: 'woman'}
*ageが主キー
今の段階だと、ageリストの[18]に対応するのは、sexリストの'woman'だけです。これに加え、同じキーに'man'を追加したいです。
以下のような表示にしたいです。
理想形
print(list_dict)
#{25: 'man', 30: 'woman', 18: 'woman','man', 52: 'woman', 68: 'man', 41: 'woman', 55: 'man', 24: 'man', 19: 'man', 36: 'woman', 40: 'man', 62: 'woman'}
自分で試したこと
調べると、一つのキーに複数の値を辞書型で保存するのはPythonでは不可能だという答えがいくつかありました。しかし、同じようなことで悩んでおられる方の質問を見ると、やはりfor文を使って上手くいっている場合もあるのだと知りました。自分なりにdefaultdictやappendを使ってみたのですが、上手くいきません。
ネスト構造を使って試すと一応できましたが、思っているのとは少し違いました。
list_dict[18] = {1:'woman',2:'man'}
print(list_dict)
#{25: 'man', 30: 'woman', 18: {1: 'man', 2: 'woman'}, 52: 'woman', 68: 'man', 41: 'woman', 55: 'man', 24: 'man', 19: 'man', 36: 'woman', 40: 'man', 62: 'woman'}
皆様お忙しい中恐縮ですが、ご指摘頂けると幸いです。