python变量列表,通过变量名检索变量值

时间:2013-06-18 22:04:15

标签: python list

如果我有代码:

attRoll = 34
hit = False
dmg = 1

attSequence = [attRoll, hit, dmg]

print attSequence[dmg]

它打印的是hit(False)而不是dmg(1)的值,我可以通过输入以下内容来解决这个问题:

print attSequence[dmg+1]

我的问题:
- 为什么不打印dmg的值?
- 有一个干净的方式(没有+1)来检索命中的值吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

attSequence是一个列表,dmg是1,因此attSequence[1]表示“在attSequence”中“将我的项目放在索引1(第二项)”。对于你正在做的事情,你可能想要dictionary(在其他语言中通常称为map),它存储键/值映射,因此你可以使用“dmg”键存储损坏。 :

att = {
    "roll": attRoll,
    "hit": hit,
    "dmg": dmg
}
print att["dmg"]

您还可以将文字放在地图中,这样就可以执行此操作:

att = {
    "roll": 34,
    "hit": False,
    "dmg": 1
}