Как изменить порядок динамических строковых ключей для словаря, чтобы сохранить его в JSON
Как сортировать динамические обновленные данные словаря каждый раз, когда в словаре обновляются новые ключи? Это дает мне случайный порядок для ключей всякий раз, когда я пытаюсь распечатать словарь после обновления.
mydict ={"item_0": "apples"} print(mydict) mydict.update(item_1="banana") print(mydict) mydict.update(item_2="oranges") print(mydict) mydict.update(item_3="peaches") print(mydict) mydict.update(item_4="tangerines") print(mydict) Actual Results {'item_0': 'apples'} {'item_0': 'apples', 'item_1': 'banana'} {'item_2': 'oranges', 'item_0': 'apples', 'item_1': 'banana'} {'item_2': 'oranges', 'item_3': 'peaches', 'item_0': 'apples', 'item_1': 'banana'} {'item_4': 'tangerines', 'item_2': 'oranges', 'item_3': 'peaches', 'item_0': 'apples', 'item_1': 'banana'} Expected Results {'item_0': 'apples'} {'item_0': 'apples', 'item_1': 'banana'} {'item_0': 'apples', 'item_1': 'banana', 'item_2': 'oranges'} {'item_0': 'apples', 'item_1': 'banana', 'item_2': 'oranges', 'item_3': 'peaches'} {'item_0': 'apples', 'item_1': 'banana', 'item_2': 'oranges', 'item_3': 'peaches', 'item_4': 'tangerines'}
Что я уже пробовал:
Использование функции сортировки, похоже, не работает при динамической сортировке данных или, по крайней мере, не возвращает словарь, а вместо этого возвращает список кортежей. Я продолжаю получать случайный порядок всякий раз, когда новые ключи добавляются в словарь, и мне нужно сортировать их и обновлять в данных в формате JSON.
honey the codewitch
Предположительно, у вас есть причина, по которой вы хотели бы сохранить порядок, но спецификация JSON не гарантирует порядок именованных элементов - вот для чего нужен XML. В основном то, что вы хотите, это взломать протокол JSON, чтобы удовлетворить ваши требования. Не то чтобы этого нельзя было сделать, но знайте, что то, что вы хотите сделать, - это халтура.