2015-10-14 20 views
2

我有一個函數,它的項目即列表[ITEM_1,ITEM_2]等以項目的列表和顯示從每個項目的值作爲字符串

每個項目本身是另一頁上的字典。即item_1 {key:value等} 我想要顯示列表中每個項目的鍵值(稱爲「名稱」)。

例如,如果輸入的功能,list_of_items()是[ITEM_1,ITEM_2]

應該返回「項目1的名稱,第2項的名稱」作爲由逗號分隔的字符串。

new_list = [] 
for i in items: 
    new_list.append(i["name"]) 

return str(new_list).strip('[]') 

此代碼返回「'項目1的名稱','項目2的名稱'」,它是我得到的最接近的。

如何返回我想要的字符串?

回答

4

您可以使用str.join()將字符串列表連接到單個字符串中。示例 -

new_list = [] 
for i in items: 
    new_list.append(i["name"]) 

return ','.join(new_list) 

這可以使用下面的列表理解可以簡化 -

return ','.join([i['name'] for i in items]) 

演示 -

>>> items = [{'name':'a'},{'name':'b'},{'name':'c'}] 
>>> ','.join([i['name'] for i in items]) 
'a,b,c' 
+0

非常感謝你,正是因爲我想要的。 – DigiCoder

+0

很高興我能幫到你! :-) –

0

從@AnandSKumar答案是完美的。另外,請注意,您在您提供的代碼中實際上沒有功能。 python中的函數以def語句開頭。所以,從複製一些@AnandSKumar代碼,您有以下功能:

def dictsName2str (listOfDicts) : 
    return ','.join([i['name'] for i in listOfDicts]) 

然後,你可以調用你的函數用下面的代碼:

>>> items = [{'name':'a'},{'name':'b'},{'name':'c'}] 
>>> myStr = dictsName2str(items) 
相關問題