我试图制作一款战斗RPG风格的游戏。我使用字典,我想在同一个字典中使用变量作为值,如下所示:
hero = {"name": "player",
"lvl": 1,
"plvl": lvl,
"xp": 48,
"N_lvl": 48,
"stats": {"HP": 250,
"Att": 1,
"U_Att": [21,44],
"Def": 2}}
我希望值plvl
等于lvl
,但我无法在互联网上找到有关如何执行此操作的任何内容。另外,我不能使用另一本字典,因为它与我的程序冲突,如果我这样做,它也不会按照我想要的方式工作。
答案 0 :(得分:2)
而不是试图一步到位;将其分解为两个:初始化并分配。首先,您要初始化字典:
>>> hero = {"name": "player", "lvl": 1, "xp": 48, "N_lvl": 48,
"stats": {"HP": 250, "Att": 1, "U_Att": [21,44], "Def": 2}}
和然后向其添加新的plvl
密钥,并为其分配lvl
密钥中包含的值:
>>> hero['plvl'] = hero['lvl']
你们两个都在同一个词典中。
>>> hero
{'N_lvl': 48,
'lvl': 1,
'name': 'player',
'plvl': 1,
'stats': {'Att': 1, 'Def': 2, 'HP': 250, 'U_Att': [21, 44]},
'xp': 48}
无需复杂化。
唯一的另一种方法是事先定义lvl
并使用内置dict
构建字典的替代方法:
lvl = 1
hero = dict(name = "player", lvl = lvl, plvl = lvl, xp = 48 ....) # and so on..