【发布时间】:2022-06-11 21:28:07
【问题描述】:
我试图能够根据用户定义的变量返回特定字典的预算编号。我没有任何运气自己解决这个问题,非常感谢任何帮助。
owners = ['rob','andre']
team_balance = {}
for name in owners:
team_balance[name.capitalize()] ={'budget':200}
x='Rob' # x will be user defined using input()
print(team_balance[{x}]['budget'])
尝试上述结果会出现以下错误:
TypeError: unhashable type: 'set'
【问题讨论】:
-
你想达到什么目的?我可以看到两个错误,我无法说出您的真正意思。您的意思是打印:
team_balance['ROB']['budget']?或者:team_balance[x.capitalize()]['budget']? -
@quamrana Rob 是临时的,正如他们在评论中所说的那样。
# x will be user defined using input(). -
做
team_balance[x]['budget']。由于您不需要{ },您会收到错误消息。在我看来,您可能会将其与f-strings 混淆。这也可以:team_balance[f"{x}"]['budget'],但它会是一种不必要的复杂方式来做一些非常简单的事情。 -
print(team_balance[x.capitalize()]['budget']) 尽管注意用户输入并考虑如果给定名称 ( x) 不在字典中
-
@LancelotduLac:是的,这是 OP 解释他们想要实现的目标之后的下一步。
标签: python list dictionary variables