现在我正在制作一个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)