命名元组 vs 字典

2024-06-16 12:29:33 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我正在编写一个游戏,我需要一个数据类型,它可以存储从liststuplesstringsintegers的多种变量。我在使用dictionariesnamedtuples之间左右为难。

GameData = namedtuple('GameData', ['Stats', 'Inventory', 'Name', 'Health'])
current_game = GameData((20,10,55,3), ['Sword', 'Apple', 'Potion'], 'Arthur', 100)

GameData = {'Stats': (20,10,55,3), 'Inventory': ['Sword', 'Apple', 'Potion'], 'Name': 'Arthur', 'Health': 100}

你看,这里最大的问题是所有这些值都可能改变,所以我需要一个可变的数据类型,它不是namedtuple。在文档中,namedtuples似乎有._replace(),那么这是否使其可变?

我也喜欢namedtuples如何有一个__repr__方法,它以name=value格式打印。此外,为namedtuple中的每个值分配单独的__doc__字段的功能非常有用。这个功能是否与dictionaries一起使用?


Tags: name功能游戏applestatsnamedtuple数据类型inventory