2016-09-27 1792 views
0

在這裏提出的問題的解決方案printing a two dimensional array in python我無法弄清楚解決方案的{:4}部分究竟意味着什麼。我試過這個打印聲明,它似乎工作得很好,但對於我有非常大的矩陣的情況,我想確保我沒有添加或切分有價值的信息。在python的矩陣打印解決方案中,{:4}是什麼意思?

+0

哦,太棒了!這很有道理。謝謝。 – Daniel

+0

@ZdaR:「*打印輸出爲最大4個字符*」。我認爲你的意思是**最低**。如果出現超過4個字符,則它們將在最後一個字符串中,如果少於這些字符,它們將被填充。該數字是最小的字段寬度,就像'printf「%4s」'中的一樣。試試'「{:4}」。格式(「123456」)'。正如文檔所言:「* width是一個定義最小字段寬度的十進制整數。」https://docs.python.org/3/library/string.html#formatspec – cdarke

回答

2

它與輸出中的填充和對齊有關。它類似於在cawk等中找到的printf函數中的填充。它給出每個打印元素的寬度n,其中n{:n}

''.join('{:3}'.format(x) for x in range(100)) 

將輸出:

' 0 1 2 3 4 5 ... 95 96 97 98 99' 

通知的單獨空間的99與兩個空格的0左邊的左邊。換句話說,每個數字的寬度爲3個字符。

您還可以使用更傳統的語法來實現類似的效果。

''.join('%3s' % x for x in range(100))