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



如果我有代码:

attRoll = 34
hit = False
dmg = 1
attSequence = [attRoll, hit, dmg]
print attSequence[dmg]

它打印hit (False)的值而不是dmg(1),我可以通过输入:

来解决这个问题:
print attSequence[dmg+1]

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

谢谢!

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

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

您也可以在映射中放置文字,因此您可以这样做:

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

最新更新