我有一个字典,它是这样格式化的:
enemyType = {"skeleton": [{"HP": random.randint(12,15), "DMG": random.randint(3,7)}],
"zombie": [{"HP": random.randint(21,33), "DMG": random.randint(5,9)}],
"golem": [{"HP": random.randint(40,55), "DMG": random.randint(6,13)}]}
for key, value in enemyType.items():
print(key, value)
for k, v in value:
print(k)
字符串
输出为:
skeleton [{'HP': 14, 'DMG': 3}]
HP
zombie [{'HP': 28, 'DMG': 8}]
HP
golem [{'HP': 45, 'DMG': 8}]
HP
型
如何获取“HP”和“DMG”的值?
谢谢你
5条答案
按热度按时间gcxthw6b1#
字典的值->包含一个项目的列表->键和值:
字符串
产出:
型
我想你可以删除列表,这样你的结构就像:
型
8qgya5xd2#
首先,你需要纠正for循环中的错误。
字符串
如果你只需要
'HP'
和'DMG'
,那么:型
如果你想从你的字典中删除列表,只需要:
的字符串
50pmv0ei3#
您可以通过迭代字典,然后访问列表中嵌套字典的键来访问
HP
和DMG
的值。类似于:字符串
输出量:
型
zdwk9cvp4#
这些值在一个 list 中,所以你需要先指定这个索引。
字符串
可选地,仅使用 * 字典 *。
型
输出
型
uoifb46i5#
下面是在你现有的代码中发生的事情:基本上你不小心格式化了你的数据结构和你的
for
循环,而这种方式并没有导致显式错误,这通常是你知道有什么问题的方式。字符串
如果你不想拥有额外的列表,那么删除它很简单:
型
如果你确实想让列表出现在那里(例如,如果你试图表示每个敌人的多个示例),你也可以相应地调整循环:
型