У меня есть вложенный словарь в виде:
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
Как видите, я пытаюсь проверить, существует ли ключ time_stamp и если да, обновить значение с новыми данными.Если нет, я хочу создать ключ time_stamp и присвоить ему начальное значение.Однако я получаю ключевую ошибку, как только программа выходит за начальное значение (см. Вверху).
Exception in thread Video 1:
Traceback (most recent call last):
File "C:\Anaconda\lib\threading.py", line 916, in _bootstrap_inner
self.run()
File "C:\MA\Code\jsonparser_v2\jsonparser_v2.py", line 418, in run
self.process_json()
File "C:\MA\Code\jsonparser_v2\jsonparser_v2.py", line 201, in process_json
self.emoji_per_word[time_stamp]['worte'] = worte
KeyError: 1
В конце я хочу получить что-то вроде этого:
self.emoji_per_word = {0: {'worte': 20, 'emojis': 5, '#':0.25}, 1: {'worte': 20, 'emojis': 5, '#':0.25}}
Что такоеЯ тут не так делаю?