Сортировать словарь в Python на основе его ключей (когда все ключи являются целыми) - PullRequest
0 голосов
/ 14 октября 2011

По сути, у меня есть словарь, в котором все ключи являются целочисленными, где верхние клавиши находятся в конце списка, а нижние - в начале (вроде как список).

Примечание. Я не могу использовать список по причинам, в которые не буду входить.

1 Ответ

3 голосов
/ 14 октября 2011

упорядоченный словарь Python * - это то, что вы ищете. Например

>>> from collections import OrderedDict
>>> data = {4:'str1', 19:'str2', 1:'str3', 7:'str4'}
>>> orderedData = OrderedDict(sorted(data.items()))
>>> orderedData
OrderedDict([(1, 'str3'), (4, 'str1'), (7, 'str4'), (19, 'str2')])

Вы по-прежнему можете иметь дело с OrderedDict так же, как и с обычным словарем, поэтому

>>> orderedData[1]
'str3'
>>> orderedData[11] = 'str5'
>>> orderedData
OrderedDict([(1, 'str3'), (4, 'str1'), (7, 'str4'), (19, 'str2'), (11, 'str5')])

Кроме того, это будет работать с любым ключом, ints не требуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...