很可能有一些非常愚蠢的错误,但是我完全坚持这一点并且没有弄错:
尝试将列表转换为字符串,并为每个列表元素添加换行符:
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
查看了不同来源并谷歌...我在这里做错了什么? 明白我很可能只是盲目而且缺少一些小东西。如果你减去 - 请指出我的错误。
答案 0 :(得分:4)
self.meta
是一个字符串。尝试使用for op in self.meta
和打印元素进行迭代将一次打印一个字符。只需使用print(self.meta)
进行打印,您就会看到新行分隔的字符串正确打印。