0

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

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

我的问题是当列表的大小不固定时如何使用格式方法。有什么简单易行的方法吗?而不是先创建一个字符串b,然后映射ab. 我不确定我是否可以使用类似的东西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")
4

1 回答 1

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'
于 2013-11-06T19:19:18.390 回答