python - 是否可以将整数添加到由两个整数组成的列表中?(不是第三个变量)
问题描述
我有一本我正在使用 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]}}
解决方案
你必须是明确的。
char['stats']['atk'][0] += 1
char['stats']['atk'][1] += 1
标准 Python 没有支持逐元素操作的容器。
如果您不介意重新创建列表而不是更新现有列表,则可以使用列表推导。
char['stats']['atk'] = [x + 1 for x in char['stats']['atk']]
推荐阅读
- python - 如何为同一数据帧的不同组计算一个简单的函数?
- python - pycharm virualenv 从子目录导入类
- python - 套接字错误:111 [.connect((host, port))]
- json - HttpMessageNotReadableException:JSON 解析错误
- spring - 可以使用弹簧数据弹性搜索的可扩展弹性搜索模块吗?
- r - 总结——它依赖于顺序吗?
- python - 如何在将键值与列名匹配的同时将字典添加到数据框中?
- mysql - 使用SQL合并两个表以更改单行中的列数据
- postgresql - 通过查询优化的 SQL 分区
- python - 如何使用python拟合多条指数曲线