2013-06-24 55 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))'按需打印。 –

相關問題