Вы можете рассмотреть возможность использования OrderedDict()
при чтении из файла json. Таким образом, вы можете проверить индекс ключей по диапазону критериев:
the_data = json.load(open('edu01.json'), object_pairs_hook=OrderedDict)
for idx, key in enumerate(reversed(the_data.keys())):
if idx in range(len(the_data.items()) - 2, 8, -1):
the_data.pop(key)
Обычные словари не сохранят порядок ваших элементов. Хотя я не совсем уверен, что reversed()
необходим в случае OrderedDictionaries, лучше работать в обратном направлении, чтобы не изменять индексы при их удалении. В качестве альтернативы вы можете сделать:
the_data = json.load(open('edu01.json'), object_pairs_hook=OrderedDict)
keys_to_remove = []
for idx, key in enumerate(reversed(the_data.keys())):
if idx in range(len(the_data.items()) - 2, 8, -1):
keys_to_remove.append(key)
for k in keys_to_remove:
the_data.pop(k)