2013-07-05 71 views
1

我很喜歡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

Dicts沒有任何順序。 –

回答

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:是的。我的回答指出:'你可以選擇任何你喜歡的連接字符串'。 –