Как переупорядочить динамические строковые ключи для словаря, чтобы сохранить его в JSON - PullRequest
0 голосов
/ 29 января 2019

Как отсортировать динамически обновляемые данные словаря при каждом обновлении новых ключей в словаре?Это дает мне случайный порядок для ключей всякий раз, когда я пытаюсь напечатать словарь после обновления.

Использование функции Sorted не похоже на динамическую сортировку данных.Я получаю случайный порядок всякий раз, когда в словарь добавляются новые ключи, и мне нужно отсортировать их и обновить в данных в формате 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'}

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Попробуйте отсортировать (mydict.items ()) без функции dict ().Это сработало для меня:

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(sorted(mydict.items()))
0 голосов
/ 29 января 2019

Вы можете использовать функцию sorted примерно так:

dict(sorted(mydict.items()))

Пример вывода:

>>> mydict={'item_2': 'apples', 'item_3': 'banana', 'item_0': 'oranges', 'item_1': 'peaches', 'item_4': 'tangerines'}
>>> mydict
{'item_2': 'apples', 'item_3': 'banana', 'item_0': 'oranges', 'item_1': 'peaches', 'item_4': 'tangerines'}
>>> dict(sorted(mydict.items()))
{'item_0': 'oranges', 'item_1': 'peaches', 'item_2': 'apples', 'item_3': 'banana', 'item_4': 'tangerines'}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...