輸出你x
是列表清單
In [14]: x =[[1.456, 2, 3],
...: [4, 5.231, 6],
...: [7, 8, 9.145]]
In [15]: x
Out[15]: [[1.456, 2, 3], [4, 5.231, 6], [7, 8, 9.145]]
In [16]: for row in x:
...: print(row)
...:
[1.456, 2, 3]
[4, 5.231, 6]
[7, 8, 9.145]
我們可以爲每個row
設置一個Python格式的打印表達式。
但首先看看當你做出一個數組會發生什麼:
In [17]: arr=np.array(x)
In [18]: arr
Out[18]:
array([[ 1.456, 2. , 3. ],
[ 4. , 5.231, 6. ],
[ 7. , 8. , 9.145]])
這是一個二維數組 - 的D型浮動的,可容納兩個整數和浮點數的D型。形式上,你已經失去了浮動和整數之間的區別。
嘗試顯示不帶小數和不帶[]的數組比原始列表困難得多。數組格式化爲排列列做了很多工作,換句話說就是製作一個像顯示器一樣的漂亮的表格。如果數組是大行包裝的話,它會開始添加省略號。所以從顯示器的角度來看,你在製作陣列時實際上放鬆了控制。
np.savetxt
可能有幫助;它可以用來寫沒有[]的行; 繪畫的靈感來自savetxt
(以及它如何格式化行)所以
In [21]: for row in x:
...: print('%6s %6s %6s'%tuple(row))
...:
1.456 2 3
4 5.231 6
7 8 9.145
In [22]: for row in arr:
...: print('%6s %6s %6s'%tuple(row))
...:
1.456 2.0 3.0
4.0 5.231 6.0
7.0 8.0 9.145
,如果你是挑剔的數字的格式,堅持使用列表清單中,和Python的格式化系統(上晚自習是否%
或.format
版本)。例如%g
與陣列工程,以及與列表
In [29]: for row in arr:
...: print('%6.2g %6.3g %6g'%tuple(row))
...:
1.5 2 3
4 5.23 6
7 8 9.145