python将列表转换为带换行符的字符串

时间:2017-02-03 05:42:44

标签: python

很可能有一些非常愚蠢的错误,但是我完全坚持这一点并且没有弄错:

尝试将列表转换为字符串,并为每个列表元素添加换行符:

        meta_temp = ['name: {}; content: {};'.format(el['name'], el['content']) for el in self.meta]
        for hop in meta_temp:
            print(hop)

        self.meta = '\n'.join(map(str, meta_temp))

        for op in self.meta:
            print(op)

list meta_temp由str对象组成,for hop in meta_temp: print(hop)显示正确的表示 -

name: generator; content: zmvc; 
name: viewport; content: width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0; 

等等。

但是,在尝试转换为字符串'\n'.join(map(str, meta_temp))之后,我在每个字符之后获取带换行符的字符串,如(for op in self.meta: print(op)):

n
a
m
e
:

尝试:

'\n'.join(map(str, meta_temp))
'\n'.join(meta_temp)
''.join(map(str + '\n', meta_temp))
'\n'.join(el for el in meta_temp))

使用 python 3.5

查看了不同来源并谷歌...我在这里做错了什么? 明白我很可能只是盲目而且缺少一些小东西。如果你减去 - 请指出我的错误。

1 个答案:

答案 0 :(得分:4)

self.meta是一个字符串。尝试使用for op in self.meta和打印元素进行迭代将一次打印一个字符。只需使用print(self.meta)进行打印,您就会看到新行分隔的字符串正确打印。