如何在另一个字典中创建字典?



现在我正在制作一个python程序,它可以获取名称和统计数据并记录它们。要做到这一点,我试图创建一个嵌套字典,看起来像这个例子。

playerData = {"Jack": {"strength": 10, "intelligence": 5}, "John": {"strength": 8, "intelligence": 10}}

我的问题出现时,我试图使它。我让我的程序结构化,首先创建一个名字列表,然后是一个统计类别列表,我试图在字典中创建一个字典来创建它。我有一个名为collectPlayerAttributes的函数,它创建了一个统计类别列表,一个例子是

["strength", "intelect", "charisma"]

。我要做的是从那个列表中拉值并将它们作为键输入到字典playerData中。使用前面的示例列表,它看起来像

{"Jack": {"strength": 10, "intelect": 5, "charisma": 8}}

附加到键的值只是占位符,但最后我计划按照

的行做一些事情。

input("What is Jack's strength? ")

并将结果放在那里。目前我的代码是

playerData = {}
y = 0
for i in players:
playerData[str(players[y])] = {#What goes here?}
y += 1

如果你只想创建一个所有玩家都有一个条目的dict,你可以为每个玩家创建一个空的dict:

playerData = {i:{} for i in players}

如果你要求用户输入strength值,你可以这样做:

def updatePlayerAttribute(playerData, name, attribute):
value = input(f'What is the {attribute} of {name}?')
playerData[name][attribute] = value
name = "Jack"
attribute = "strength"
updatePlayerAttribute(playerData, name, attribute)
print(playerData)

相关内容

  • 没有找到相关文章

最新更新