2015-08-18 27 views
1

我有一个包含18个不同键的字典,每个键里面有3个值(xPowerxPPxAccuracy)每个变量都包含一个int。我将如何从某个特定的密钥访问一个值?例如,我想取出ScratchPower(40)的值在其他地方使用。搜索了半个多过小时后,我发现最重要的是从一键访问所有的值:访问键(Python)中的索引/值

print defMoves["Scratch"] 

这里是我的字典:

defMoves = { 
    "Scratch": [ScratchPower, ScratchPP, ScratchAccuracy], 
    "Air Slash": [Air_SlashPower, Air_SlashPP, Air_SlashAccuracy], 
    "Flare Blitz": [Flare_BlitzPower, Flare_BlitzPP, Flare_BlitzAccuracy], 
    "Growl": [GrowlPower, GrowlPP, GrowlAccuracy], 
    "Heat Wave": [Heat_WavePower, Heat_WavePP, Heat_WaveAccuracy], 
    "Ember": [EmberPower, EmberPP, EmberAccuracy], 
    "Shadow Claw": [Shadow_ClawPower, Shadow_ClawPP, Shadow_ClawAccuracy], 
    "Smokescreen": [SmokescreenPower, SmokescreenPP, SmokescreenAccuracy], 
    "Dragon Claw": [Dragon_ClawPower, Dragon_ClawPP, Dragon_ClawAccuracy], 
    "Dragon Rage": [Dragon_RagePower, Dragon_RagePP, Dragon_RageAccuracy], 
    "Scary Face": [Scary_FacePower, Scary_FacePP, Scary_FaceAccuracy], 
    "Fire Fang": [Fire_FangPower, Fire_FangPP, Fire_FangAccuracy], 
    "Flame Burst": [Flame_BurstPower, Flame_BurstPP, Flame_BurstAccuracy], 
    "Wing Attack": [Wing_AttackPower, Wing_AttackPP, Wing_AttackAccuracy], 
    "Slash": [SlashPower, SlashPP, SlashAccuracy], 
    "Flamethrower": [FlamethrowerPower, FlamethrowerPP, FlamethrowerAccuracy], 
    "Fire Spin": [Fire_SpinPower, Fire_SpinPP, Fire_SpinAccuracy], 
    "Inferno": [InfernoPower, InfernoPP, InfernoAccuracy], 
} 

感谢

回答

1

defMoves["Scratch"]返回一个列表,以便只是像你会索引任何列表:

defMoves["Scratch"][0] # first subelement -> ScratchPower 
defMoves["Scratch"][1] # second subelement -> ScratchPP 
defMoves["Scratch"][2] # third subelement -> ScratchAccuracy 
...... 
+1

非常感谢!我试着做'defMoves [“Scratch”[0]]'现在我知道我要去哪里错了。 – Paradox

0

defMoves [“Scratch”]让你b确认与该密钥相关联的值(在本例中是一个列表)。要从该列表中获取特定项目,您需要使用数字索引。因此,例如,要获得ScratchPower,您需要使用defMoves [“Scratch”] [0]。

虽然这似乎很难记住,所以您可能想在每个这些字典中使用另一个字典。那看起来像

{"Scratch" : {"Power":40... }... }