我使用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")
答案 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'