我正在尝试创建一个player_def
函数,它将使创建字典变得更容易
现在来看,这可能有点愚蠢,因为我可以做players["betts"]["avg"]=340
,对吗?无论如何,为了理解Python是如何工作的,如果你们能解释为什么下面的代码返回一个键错误而不是创建一个嵌套字典,我将不胜感激
def player_def(x,y,z):
players[x][y]=z
player_def("betts","avg",340)
print(players["betts"])
Tags:
最简单的解决方案是使用collections.defaultdict:
我们将
players
定义为dict
的defaultdict
。当我们这样做时:如果
players
还没有betts
键,则会动态创建一个新键,并将空的dict
作为值。因此,我们可以将"avg": 340
添加到这个新的dict中你是说这个吗?很抱歉,我的问题没有在评论中回应您的问题,因此我不得不将其作为可能的解决方案/解释
///EDIT:因此,当字典已经存在时,您可以更改其内容。但是,如果要添加新的对(到现有密钥的右侧),则必须向现有密钥添加一个不存在的语法。我想我解释得很复杂,对不起
Python控制台中的另一个示例:
相关问题 更多 >
编程相关推荐