2016-11-17 34 views
1

我知道,當我使用如何在特定大小的變量中使用字符串格式?

"%2d"%(x) 

我會得到x的字符串,並以2至少大小,如果x的長度短於2我將收到獲得空間。 但我怎樣才能把2作爲一個變量呢? 例如:

"%nd"%(2,1) 
' 1' 

是否有可能在Python?或者我需要爲它創建一個循環?

+3

' '%* d' %(N,X)'應該工作 – vaultah

+0

@vaultah是正確的。它爲我工作。 –

+0

FWIW新的格式應該在Python 2.7中工作:'{:> {}}'。格式(x,n)' – Billy

回答

1

使用*和實際寬度將從值的元組的下一個元素被讀取,並且轉換的值將是一個如下:

>>> "%*d" % (2, 1) 
' 1' 

這是記錄在文檔中的String Formatting Operations部分 - 它說:

  1. 最小字段寬度(可選)。如果指定爲'*'(星號),則將從元組的下一個元素值中讀取實際寬度,並且要轉換的對象位於最小字段寬度和可選精度之後。
+0

非常感謝! 這是@vaultah評論一個這個工程! –

1

你可以選擇要與新樣式格式更詳細:

>>> '{:{width}d}'.format(1, width=2) 
' 1' 
+0

不是新風格的粉絲,但它的工作原理 –

+2

@guy:實際上新風格有點更強大(並且容易,一旦你掌握了它),所以我建議你花時間學習它。 – martineau

相關問題