@Wolron

Загрузка словаря из файла так,что бы он работал обычно?

Словарь до записи в файл работает нормально.
Работает срез например
Print(d [1][1])

Но когда словарь записан в файл и потом из файла загружен в новый словарь.
То срез для нового словаря не работает.
Print(new_d [1][1]) .

Выдает ошибку
KeyError: 1
Согласно официальной документации Python 3, ошибка KeyError возникает, когда ключ набора (словаря) не найден в наборе существующих ключей.
Эта ошибка встречается, когда мы пытаемся получить или удалить значение ключа из словаря, и этот ключ не существует в словаре.

ВОПРОС: как загрузить словарь,что бы можно было получать срезы словаря?

import json

d = {
'1':[0,1,2,3]
'2':[4,5,6,7]
'3':[8,9,10,11]
}

# j is now a string containing the data from d in the json format.
j = json.dumps(d)
with open('my_data.json', 'w') as f:
    f.write(j)

with open('my_data.json', 'r') as f:
    new_d = json.loads(f.read())
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
print(new_d['1'][1])

У вас ключи словаря new_d строковый тип имеют после загрузки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы