我很难找到解决方案。我需要使用从动态数组构建的换行符构造单个字符串。例如
mylist = ['first line', 'second line', 'third line', 'fourth line']
单个文本字符串最终需要这样:
preamble = 'My preamble'
postamble = 'My postable'
TEXT = preamble+'\n'+mylist[0]+'\n'+mylist[1]+'\n'+mylist[2]+'\n'+mylist[3]+'\n'+postamble
这是捕获,mylist的长度是动态的,因此TEXT必须自动调整。所以,如果是mylist:
mylist = ['first line', 'second line', 'third line']
然后我的TEXT将自动成为:
TEXT = preamble+'\n'+mylist[0]+'\n'+mylist[1]+'\n'+mylist[2]+'\n'+postamble
感谢任何帮助
答案 0 :(得分:2)
使用join
:
TEXT = preamble + '\n' + '\n'.join(mylist) + '\n' + postamble
TEXT
'My preamble\nfirst line\nsecond line\nthird line\nfourth line\nMy postable'
print TEXT
My preamble
first line
second line
third line
fourth line
My postable
为了使它更具动态性,您可以在函数中执行此操作,并在列表更改时调用它:
def get_TEXT():
return preamble + '\n' + '\n'.join(mylist) + '\n' + postamble
mylist.append('fifth line')
get_TEXT()
'My preamble\nfirst line\nsecond line\nthird line\nfourth line\nfifth line\nMy postable'
print get_TEXT()
My preamble
first line
second line
third line
fourth line
fifth line
My postable
答案 1 :(得分:1)
mylist = ['first line', 'second line', 'third line', 'fourth line']
preamble = 'My preamble'
postamble = 'My postable'
text = preamble + '\n' + ('\n'.join(mylist)) + '\n' + postamble
print text
print text
然后按以下格式生成字符串:
My preamble
first line
second line
third line
fourth line
My postable
答案 2 :(得分:0)
"\n".join([preamble] + mylist + [postamble])
答案 3 :(得分:0)
以防您的列表包含除字符串以外的其他类型:
a=[10,11,12]
preamb='My Pre\n'
postam='My Pos'
Text=preamb
for i in a:
Text += str(i)+'\n'
Text+=postam
print Text
结果:
My Pre
10
11
12
My Pos