【问题标题】:Is it possible to add an integer to a list comprised of two integers? (NOT a third variable) [duplicate]是否可以将整数添加到由两个整数组成的列表中? (不是第三个变量)[重复]
【发布时间】:2021-05-11 11:03:12
【问题描述】:

我有一本我正在使用 Python 3.9 开发的文本角色扮演游戏的字典。我想知道嵌入在字典中的列表“atk”是否会随着玩家获得新武器而增长,或者当他们升级时。

'atk',在我的代码中,是指可以对对手造成的最低和最高伤害值。

大多数情况下,我关心的是向列表 [5,13] 添加一个值,例如 1,这会将我的列表更新为 [6,14]。请注意,“atk += 1”不起作用,“atk += [1,1]”也不起作用。抱歉,如果这已在其他地方报道。如果有,请给我链接。

char = {'name' : 'Hero',
    'lv': 3,
    'xp': 0,
    'lvnext': 83,
    'gp' : 5,
    'bag' : ["Bronze Spear"],
    'stats' : {'ATT': 1,
                'DEF': 1,
                'WIS': 1,
                'hp' : 100,
                'atk' : [5,13]}}

【问题讨论】:

    标签: python list dictionary text-based


    【解决方案1】:

    你必须是明确的。

    char['stats']['atk'][0] += 1
    char['stats']['atk'][1] += 1
    

    标准 Python 没有支持元素操作的容器。

    如果您不介意重新创建列表而不是更新现有列表,则可以使用列表推导式。

    char['stats']['atk'] = [x + 1 for x in char['stats']['atk']]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 1970-01-01
      • 1970-01-01
      • 2016-11-04
      相关资源
      最近更新 更多