2013-06-24 52 views
22

在FORTRAN,我可以重复的格式描述符救重写了很多次,比如:我可以在python中重复一个字符串格式描述符吗?

write(*,'(i5,i5,i5,i5,i5)')a,b,c,d,e 

可以改写为

write(*,'(5(i5))')a,b,c,d,e 

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

例如,说我想要做的蟒蛇一样,我会写:

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

是否有某种方式来重复格式的描述,就像在FORTRAN?

+4

在Python中,你可以对字符串进行乘法运算,所以如果你是要打印5 *“字符串”,它会打印字符串5次。 –

回答

19

可以进行格式化字符串本身:

print ('{:5d} '*5).format(*values) 

格式字符串是一个正常的字符串,这样你就可以multiply it by int

>>> '{:5d} '*5 
'{:5d} {:5d} {:5d} {:5d} {:5d} ' 
+1

谢谢。为了将来的参考:在使用格式化表达式语法时也是如此:'print((“%6.2f”* 3 +“%7.2f”* 2)%(* values))' - 注意格式字符串当添加多个不同长度的组时。 – AstroFloyd

+0

在Python 3.6.1中,print('{:5d}'* 5).format(1,2,3,4,5)'给出了一个属性错误。 'print('{:5d}'* 5.format(1,2,3,4,5))'给出了语法错误。但是,'fmt ='{:5d}'* 5'后面跟着'print(fmt.format(1,2,3,4,5))'按需打印。 –

相关问题