何時間か格闘していたのですが、どうしてもわからないので質問させて頂きました
とりあえずコードを見てもらった方が早いと思うのでので書いていきます
###該当のソースコード
python3
1party={} 2 3party["メガニウム"]={ 4"lv":50,"personality":"しんちょう","item":"たべのこし", 5"個体値":{ 6"HP":31 ,"こうげき":0,"ぼうぎょ":31,"とくこう":31,"とくぼう":31,"すばやさ":31, 7}, 8"努力値":{ 9"HP":252,"こうげき":0,"ぼうぎょ":0,"とくこう":0,"とくぼう":252,"すばやさ":4, 10 } 11} 12 13party["バクフーン"]={ 14"lv":50,"personality":"おくびょう","item":"こだわりスカーフ", 15"個体値":{ 16"HP":31 ,"こうげき":0,"ぼうぎょ":31,"とくこう":31,"とくぼう":31,"すばやさ":31, 17}, 18"努力値":{ 19"HP":4,"こうげき":0,"ぼうぎょ":0,"とくこう":252,"とくぼう":0,"すばやさ":252, 20 } 21} 22 23party["オーダイル"]={ 24"lv":50,"personality":"いじっぱり","item":"いのちのたま", 25"個体値":{ 26"HP":32 ,"こうげき":31,"ぼうぎょ":31,"とくこう":31,"とくぼう":31,"すばやさ":31, 27}, 28"努力値":{ 29"HP":4,"こうげき":260,"ぼうぎょ":0,"とくこう":0,"とくぼう":0,"すばやさ":252, 30 } 31} 32
###前提・実現したいこと
ここから最終的にメガニウム、バクフーン、オーダイル
の個体値の値を全て抽出したいのです
一つ一つ抽出するのではなく一斉にです
###試したこと
そこで私は以下のようなコードを試してみました
for x in party: for z in party[x]["個体値"]: print(z)
しかし困ったことに、抽出されるのは、個体値のキーの部分のみ
実行結果はこんな感じになってます↓
HP
すばやさ
とくぼう
とくこう
こうげき
ぼうぎょ
HP
すばやさ
とくぼう
とくこう
こうげき
ぼうぎょ
例えば、
print(party["オーダイル"]["個体値"]
とすれば実行結果はこんな感じになります↓
{"とくぼう":31,"ぼうぎょ":31,"HP":32,"とくこう":31,"こうげき":31,"すばやさ":31}
これはちゃんとキーと値の両方が抽出されるので、私の想像では、上のfor文もこれが3つ並ぶと思っていたのですが、何故キーの部分しか抽出されないのでしょうか
キーしか抽出されないので、ここからどう値を取り出そうとしてもやはりエラーになってしまいます
上のfor文は何故キーしか抽出されないのか、
また個体値の値全てを取り出すいい方法はないのか
そのあたりわかる方いらしたらお願いします...
###補足情報(言語/FW/ツール等のバージョンなど)
python 3.5.2
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/12/29 10:07