【发布时间】:2015-03-04 19:03:33
【问题描述】:
我有一个程序,我将游戏中对象的统计信息保存在一个字典中,如下所示:
Weapon = namedtuple("Weapon", ["owned", "damage", "price", "accuracy"])
weapons = {
"fists": Weapon(True, 2, None, 75),
"knife": Weapon(False, 4, 50, 95),
"sword": Weapon(False, 6, 100, 90),
"pistol": Weapon(False, 8, 250, 65),
"rifle": Weapon(False, 10, 500, 80),
"rpg": Weapon(False, 20, 1000, 100)
}
如何从函数内部编辑 owned 值?
【问题讨论】:
-
命名元组是不可变的。您可以使用记录类型。 stackoverflow.com/questions/2970608/…
-
@wrdeman 您可以在 namedtuple 上使用 _replace 并重新分配给字典。看我的回答
标签: python function dictionary immutability key-value