2017-08-31 51 views
-1

所以,我有一个项目中,我有一个字符串列表:做字符串列表与每个值的字符串在新行

outputs = ['cow', 'chicken', 'pig'] 

我需要把它们变成一个字符串,用换行分隔的每个值,如下所示:

cow 
chicken 
pig 

我发现了一个溶液在python list to newline separated value,但它使用像这样的列表:

outputs = [['cow'], ['chicken'], ['pig']] 

,每当我跑:

answer = "\n".join(map(lambda x: x[0], outputs)) 
print(answer) 

它返回'c',如同在这个问题中的所有其他答案的情况。

+5

你试过'“\ n”.join(outputs)'? –

+0

糟糕,无法找到您标记为重复的文章。抱歉使用你的时间。 –

回答

4

您可以通过另一个字符串通过简单地使用连接字符串列表:

str = "\n".join(outputs) 
0

你的问题是,当你这样做:

map(lambda x: x[0], outputs) 

你创建由第一个字母的迭代在outputs每个元素:

>>> outputs = ['cow', 'chicken', 'pig'] 
>>> list(map(lambda x: x[0], outputs)) 
['c', 'c', 'p'] 

你过想这。在这种情况下,您甚至不需要使用map。你可以简单地使用str.join

'\n'.join(outputs) 
相关问题