Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加到python中的嵌套字典_Python_Dictionary_Nested - Fatal编程技术网

添加到python中的嵌套字典

添加到python中的嵌套字典,python,dictionary,nested,Python,Dictionary,Nested,我有一个嵌套字典,其形式如下: self.emoji_per_word = {0: {'worte': 0, 'emojis': 0, '#': 0}} 现在我需要在程序运行时添加更多的子字典。我这样做: worte = 0 emoji = 0 # some code that assigns values to the 2 variables and creates the time_stamp variable if time_stamp in self.emoji_per_word

我有一个嵌套字典,其形式如下:

self.emoji_per_word = {0: {'worte': 0, 'emojis': 0, '#': 0}}
现在我需要在程序运行时添加更多的子字典。我这样做:

worte = 0

emoji = 0

# some code that assigns values to the 2 variables and creates the time_stamp variable

if time_stamp in self.emoji_per_word:
   self.emoji_per_word[time_stamp]['worte'] = self.emoji_per_word[time_stamp]['worte'] + worte
   self.emoji_per_word[time_stamp]['emojis'] = self.emoji_per_word[time_stamp]['emojis'] + emojis
else:
   self.emoji_per_word[time_stamp]['worte'] = worte
   self.emoji_per_word[time_stamp]['emojis'] = emojis
如您所见,我尝试测试键时间戳是否已经存在,如果是,则使用新数据更新值。如果不是,我想创建键时间戳并为其指定初始值。然而,一旦程序超过初始值,我就会得到一个键错误(见上图)

我最终想要的是这样的东西:

self.emoji_per_word = {0: {'worte': 20, 'emojis': 5, '#':0.25}, 1: {'worte': 20, 'emojis': 5, '#':0.25}}  

我在这里做错了什么?

您得到错误是因为
self.emoji\u per\u word[time\u stamp]
time\u stamp!=0
因此,在为字典赋值之前,需要先创建字典,如下所示:

else:
    self.emoji_per_word[time_stamp] = {}
    self.emoji_per_word[time_stamp]['worte'] = worte
    self.emoji_per_word[time_stamp]['emojis'] = emojis

如果self.emoji\u per\u word中的时间戳
表示没有
self.emoji\u per\u word[time\u stamp]
。您必须首先在那里创建一个空字典。
else:
    self.emoji_per_word[time_stamp] = {}
    self.emoji_per_word[time_stamp]['worte'] = worte
    self.emoji_per_word[time_stamp]['emojis'] = emojis