Python将列表写入文本文件

时间:2013-11-06 19:17:19

标签: string list

我使用python format方法将数字列表写入文本文件。当列表长度固定时,我可以这样做:

a = [16,1,16,1]
myfile.write('{0},{1},{2},{3}'.format(*a) + "\n")

我的问题是如何在未修复列表大小时使用格式化方法。有没有简单易行的方法呢?而不是先创建字符串b,然后将a映射到b。我不确定我是否可以使用myfile.write('{all elements in a}'.format(*a) + "\n")

之类的东西
b=''
for i in range(len(a)):
    if i<(len(a)-1):
        b=b+'{'+ str(i) + '},'
    else:
        b=b+'{'+ str(i) + '}'

myfile.write(b.format(*a) + "\n")

1 个答案:

答案 0 :(得分:2)

使用str.join

>>> lis = [16,1,16,1]
>>> ','.join(str(x) for x in lis) + '\n'
'16,1,16,1\n'
>>> lis = range(10)
>>> ','.join(str(x) for x in lis) + '\n'
'0,1,2,3,4,5,6,7,8,9\n'