2015-10-14 23 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) 
相关问题