将字符串列表转换为字符串,并在新行上添加每个值

时间:2017-08-31 13:38:18

标签: python

所以,我有一个项目,其中有一个字符串列表:

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',与该问题中所有其他答案的情况一样。

2 个答案:

答案 0 :(得分:4)

您可以通过以下方式使用另一个字符串加入字符串列表:

str = "\n".join(outputs)

答案 1 :(得分: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)