Различия упорядоченного словаря с обычным словарем

Разница питон упорядоченный словарь с обычным словарем

Последнее Джанго используется в упорядоченном развитии словаря, поэтому исследование немного, или меньше.

Пример:

Как правило Словарь заказал словарь и тому подобное, но она может записывать последовательность, в которой вставлен элемент, и словарь будет в основном произвольный порядок итераций.

Обычный словарь:

1 d1={}
2 d1['a']='A'
3 d1['b']='B'
4 d1['c']='C'
5 d1['d']='D'   #此时的d1 = {'a':'A','b':'B','c':'C','d':'D'}
6 for k,v in d1.items():
7     print k,v

Выход:

1 a A
2 c C
3 b B
4 d D

Как видно из результатов выше обычного словаря проходится выход неупорядоченный.

Ниже упорядоченный словарь (необходимо импортировать коллекции пакет):

1 import collections
2 d1={}
3 d1=collections.OrderedDict()  #将普通字典转换为有序字典
4 d1['a']='A'
5 d1['b']='B'
6 d1['c']='C'
7 d1['d']='D'
8 for k,v in d1.items():
9     print k,v

Выход:

1 a A
2 b B
3 c C
4 d D

Сравнение двух выходов, не трудно найти, заказать словарь словарь порядок вставки может быть выходным элементом .

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

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

Например:

1 import collections
2 d2 = {'a':'A','b':'B','c':'C','d':'D'}
3 d2=collections.OrderedDict()  #将普通字典转换为有序字典
4 for k,v in d2.items():
5     print k,v

Его выход является нулевым.

рекомендация

отwww.cnblogs.com/g15009428458/p/11605217.html