2015-11-15 3 views
0

Я создал функцию buildDictionary (текст), которая в конечном итоге возвращает словарь, например {A:1, B:2, C:3}. Я хочу создать еще одну функцию, которая будет печатать каждую клавишу в словаре вместе со своим условным значением. Например, программа должна печатать:Печать словаря в python

A : 1 
B : 2 
C : 3 

Я пробовал:

for key, value in dictionary: 
     print(key) 
     print(value) 

но программа ничего не выводит. Что я делаю не так?

+1

Что вы подразумеваете под ** программой ничего не печатаете **? Разве это не привело к ошибке? –

ответ

1

словари итерацию по клавишам, так что линия

for key, value in dictionary: 

не делать то, что вы ожидаете.

Вместо того, чтобы использовать оба ключ и значение, вы должны перебирать на целых элементах с

for key, value in dictionary.items(): 

Примечания: исходный код не выдаст ошибку в случае, если ключ словаря является строкой, кортеж или любой другой хешируемый итерируемый с двумя элементами, поскольку он присваивает первый элемент key, а второй - value

eg

>>> d={'ab':1, 'de':2} 
>>> for key, value in d: 
... print(key, value) 
... 
d e 
a b 
+0

Введенный код выдает ошибку, если все ключи не состоят из двух символов. Что-то еще не так. –

+0

Спасибо! Это сработало для меня – hojoo235