2012-03-18 2 views
0

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

Так что мой вопрос: как я должен сохранить порядок пары ключ/значение в словаре?

Любая помощь будет высоко оценен ...

Thanx заранее ...

+2

Вы имеете в виду порядок, в котором предметы были добавлены в словарь? В этом случае вы можете использовать 'OrderedDict' из' collections': http://docs.python.org/dev/library/collections.html#collections.OrderedDict –

+0

@SimeonVisser: Да, точно. Я хочу сохранить порядок вставки элементов. Спасибо за ссылку. Я проверю его и вернусь к вам ... – Uday0119

+1

Я вижу, что в PyPI есть пакет, который предоставляет функции OrderedDict для Python 2.4, 2.5 и 2.6: http://pypi.python.org/pypi/ordereddict. Вы можете попробовать. –

ответ

0

Мы знаем, что регулярные словари Python итерацию по парам в произвольном порядке, следовательно, они не сохраняют порядок вставки пар. Python 2.7. представил новый класс «OrderDict» в модуле «коллекции» и предоставляет тот же интерфейс, что и общие словари, но он перемещается по клавишам и значениям упорядоченным образом в зависимости от того, когда был вставлен ключ. Например:

from collections import OrderedDict 
d = OrderDict([('Company-id':1),('Company-Name':'Intellipaat')]) 
d.items() # displays the output as: [('Company-id':1),('Company-Name':'Intellipaat')] 
Смежные вопросы