【问题标题】:How can I add a dictionary variable as a value in the same dictionary [closed]如何将字典变量添加为同一字典中的值[关闭]
【发布时间】:2016-01-20 15:57:04
【问题描述】:

我正在尝试制作一款战斗 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,但我在互联网上找不到任何关于如何执行此操作的信息。另外,我不能使用其他字典,因为它与我的程序冲突,而且如果我要这样做,它也不会按照我想要的方式工作。

【问题讨论】:

  • 你的问题很不清楚。您能否提供更多背景信息或更好地描述您正在尝试做的事情?
  • 操作者只想使用一个键 lvl 的 dict 值作为另一个键 lvl 的“备份”值。措辞可能不对,但我认为他尝试初始化字典的方式表明了他的问题。是的,他可能试图用更好的方式来说明这一点。
  • 请原谅我的措辞,我会尽量让我的问题(标题)在未来更加清晰,感谢您的帮助。

标签: python variables python-3.x dictionary


【解决方案1】:

而不是试图一步到位;将其分为两部分:初始化和分配。首先你初始化你的字典:

>>> 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..

【讨论】:

  • 啊!非常感谢!它现在完美无缺。非常感谢!
  • @NileRedpath 如果这解决了您的问题,请不要忘记将其标记为已接受,以供面临类似问题的其他用户查看。 :-)
猜你喜欢
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 2014-01-02
相关资源
最近更新 更多