0

Pythonformatメソッドを使用して、数値のリストをテキスト ファイルに書き込みます。リストの長さが固定されたら、次のことができます。

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

私の質問は、リストのサイズが固定されていない場合に format メソッドを使用する方法です。これを行う簡単で簡単な方法はありますか?最初に stringbを作成してから にマップ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")
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 に答える