最近我改写了以下列方式分配字符串变量的代码:
mylist = [1.0, 2.0, 3.0]
somestring = '%6.3f' * len(mylist) % tuple(mylist)
In [7]: somestring
Out[7]: ' 1.000 2.000 3.000'
我想弄清楚如何使用.format()
方法做同样的事情。
我最终得到了以下内容:
somestring = ''.join('{:6.3f} ' for i in mylist).format(*mylist)
In [16]: somestring
Out[16]: ' 1.000 2.000 3.000 '
有没有办法做到“更好”? (也在一行?)
答案 0 :(得分:2)
就像你可以在乘法字符串上使用%
一样,你可以在乘法字符串上使用.format()
。但是,您需要使用括号来保持它:
somestring = ('{:6.3f}' * len(mylist)).format(*mylist)