2015-12-03 2 views
0

Можно ли добавить пары ключ-значение в словарь?Добавить пару значений ключа в словарь

Например, я хочу, чтобы словарь был следующим: a = {4:"Hello", 1:"World"} это можно сделать, используя словари? Если он не может, существует ли альтернативная структура данных, которая может это сделать?

Я хочу, чтобы это было упорядочено, чтобы добавить их. В этом случае сначала добавлена ​​пара значений ключа 4:"Hello".

ответ

2
from collections import OrderedDict 
order_dict = OrderedDict() 
order_dict[4] = "Hello" 
order_dict[3] = "World" 
order_dict[5] = "Bah" 
print order_dict 

Выходы:

OrderedDict([(4, 'Hello'), (3, 'World'), (5, 'Bah')]) 

печати ключа и значения:

for key, value in order_dict.iteritems() : 
    print key, value 

Выходы:

4 Hello 
3 World 
5 Bah 
+0

Возможно, это то, что я ищу. Как я могу напечатать пару с одним ключом? Скажем, 2 пары ключ-значение? –

+0

@stack Проверьте мой обновленный ответ. –

+3

@stack - Может быть, вы могли бы прочитать документацию или учебные материалы? – TigerhawkT3

1

Да, это возможно.

Из коллекций модулей используйте OrderedDict, чтобы сохранить последовательность добавления ключей.

+2

Напишите пример, который показывает, как использовать OrderedDict в этом случае. – pzp

+0

Не ответ на первый вопрос ОП «Нет»? Это отвечает на их второй вопрос о том, что делать вместо этого. –

0

использование collections.OrderedDict для заказавших словари:

>>> from collections import OrderedDict 
>>> original = OrderedDict({1:"world"}) 
>>> new = OrderedDict({4:"hello"}) 
>>> new.update(original) 
>>> new 
# OrderedDict([(4, 'hello'), (1, 'World')]) 

Это будет работать только для дополнений спереди. Для вставок в случайных местах см. Borja's answer

Смежные вопросы