使用动态数组中的新行构造一个字符串

时间:2014-11-13 23:05:30

标签: python

我很难找到解决方案。我需要使用从动态数组构建的换行符构造单个字符串。例如

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

感谢任何帮助

4 个答案:

答案 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