2013-07-05 2 views
1

Я довольно noobish на Python, поэтому я надеюсь, что это простой вопрос. Я пытаюсь прокрутить словарь и вернуть им форматированные строки. Я могу распечатать форматированные строки без проблем, но я пытаюсь превратить их в функцию, чтобы я мог запускать тесты.Iteritems возвращает форматированные строки

ex.

somedict = {'dog':'bone', 'cat':'nip'} 

def Something(somedict): 
    for key, value in somedict.iteritems(): 
     my_str = '%s and %s.' % (key, value) 
     return my_str 

Это возвращает 'dog and bone', но я хотел бы сказать, 'dog and bone.cat and nip'

Любая помощь будет оценена

+0

У Диктов нет никакого заказа. –

ответ

4

Вы только возвратить деталь первый. Регистрация результаты:

def Something(somedict): 
    return '.'.join(['%s and %s' % (key, value) for key, value in somedict.iteritems()]) 

Это объединяет все пары ключ-значение с новой строкой, но вы можете выбрать любой присоединиться строку, которую вы любите, включая пустую строку.

Демо:

>>> Something(somedict) 
'dog and bone.cat and nip.' 

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

+0

@AshwiniChaudhary: Yup. И мой ответ гласит: «вы можете выбрать любую строку соединения, которая вам нравится». –

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