2024-07-01 07:51:43 发布
网友
有一句普通的话:
ordinarydict = {} ordinarydict['somekey'] print ordinarydict
我会得到一个错误。KeyError "somekey" 这是预期的行为。在
KeyError "somekey"
所以,这里有defaultdict:
我没有在dict中添加任何内容,我只是用无效的键调用了字典。但现在新的元素被添加到defaultdict中。在
这就是defaultdict的全部要点:使用可调用的键(在本例中,int)构造一个键,当访问不存在的键时,它将调用它(生成0),并将其插入字典中。当你访问它们时,它会自动创建关键点。在
int
0
因为默认情况下,defaultdict会将丢失的键添加到字典中,如source中所示。在
defaultdict
这种行为也记录在docs:
If default_factory is not None, it is called without arguments to provide a default value for the given key, this value is inserted in the dictionary for the key, and returned.
这就是defaultdict的全部要点:使用可调用的键(在本例中,
int
)构造一个键,当访问不存在的键时,它将调用它(生成0
),并将其插入字典中。当你访问它们时,它会自动创建关键点。在因为默认情况下,
defaultdict
会将丢失的键添加到字典中,如source中所示。在这种行为也记录在docs:
相关问题 更多 >
编程相关推荐