我可以在python中重复一个字符串格式描述符吗?

tmd*_*son 25 python string-formatting

在fortran中,我能够重复格式描述符以保存多次重写,例如:

write(*,'(i5,i5,i5,i5,i5)')a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

可以改写为

write(*,'(5(i5))')a,b,c,d,e
Run Code Online (Sandbox Code Playgroud)

可以在python中使用类似的方法吗?

例如,假设我想在python中执行相同的操作,我必须写:

print "{0:5d} {1:5d} {2:5d} {3:5d} {4:5d}".format(a,b,c,d,e)
Run Code Online (Sandbox Code Playgroud)

有没有办法重复格式描述符,比如fortran?

Jak*_* M. 23

您可以重复格式化字符串本身:

print ('{:5d} '*5).format(*values)
Run Code Online (Sandbox Code Playgroud)

格式字符串是普通字符串,因此可以将其乘以int

>>> '{:5d} '*5
'{:5d} {:5d} {:5d} {:5d} {:5d} '
Run Code Online (Sandbox Code Playgroud)

  • `print(...).format(...)` 尝试在 print() 返回的对象上调用 format 方法。`print ('{:5d} '*5.format(1,2,3,4,5))` 尝试从整数 5 调用方法 `format()`。你可以使用 `print (('{ :5d} '*5).format(1,2,3,4,5))` 使其正确。 (2认同)