Python 2.7 如何从字典中调用字典中的特定值?
目前,我正在尝试编写代码,可以为某些操作选择特定值或聚合值。我正在为此使用嵌套字典,但调用嵌套字典的特定值时遇到问题。代码运行,但总是带来相同的值,不管我最初试图调用哪个键 我试图让它打印一个变量集,设置为字典中键的值。我还尝试使用v.get()从字典中检索值Python 2.7 如何从字典中调用字典中的特定值?,python-2.7,Python 2.7,目前,我正在尝试编写代码,可以为某些操作选择特定值或聚合值。我正在为此使用嵌套字典,但调用嵌套字典的特定值时遇到问题。代码运行,但总是带来相同的值,不管我最初试图调用哪个键 我试图让它打印一个变量集,设置为字典中键的值。我还尝试使用v.get()从字典中检索值 properties={'lake':{'repairs':9001,“升级”:3,“警察调查”:69} ,'meadow':{'repairs':3,'upgrades':8} ,'beach':{'repairs':4,'upgrad
properties={'lake':{'repairs':9001,“升级”:3,“警察调查”:69}
,'meadow':{'repairs':3,'upgrades':8}
,'beach':{'repairs':4,'upgrades':2}
,'country':{'repairs':5,'upgrades':54}
choice=raw_input('您想了解特定属性还是总体操作?(特定类型或总体类型)'
choice=choice.lower()
如果选项[0]=“s”:
对于properties.items()中的k,v:
打印(properties.keys())
properti=raw_input('您希望查看哪个属性?(不输入任何内容以退出)'))
打印属性[属性]
action=raw_input('您想了解什么操作?')
结果=v[动作]
打印(“+properti+”属性已完成“+str(结果)+”“+action+”)
我希望当我要求一个特定的财产,选择湖,然后选择维修,我会得到9001。甚至去草地,我会得到3次修理。目前,我一直在获得乡村房产的维修和升级费用。更改以下内容
result=v[action]
到
非常感谢。它起作用了,但你能解释一下原因吗?我大约2个月前才开始编写代码,上周才开始使用字典。让我试试看,通过
result=v[action]
您将从当前迭代中获取值,而不是从所选属性中获取值。假设for循环在迭代k='lake',v={'repairs':9001,'upgrades':3,'police investments':69}
处,并且您输入属性的国家/地区和修复操作,v[action]
将给出来自当前迭代的9001,而不是5,而您需要获取所选属性的值,即国家/地区的值。因此result=properties[properti][action]
转换为result=properties['country']['repairs']
。希望我足够清楚。啊!我以为会是那样的,但这是有道理的。非常感谢。
result=properties[properti][action]