簡體   English   中英

為什么沒有打印空的numpy數組

[英]why are empty numpy arrays not printed

如果我初始化一個python列表

x = [[],[],[]]
print(x)

然后它返回

[[], [], []]

但如果我用一個numpy數組做同樣的事情

x = np.array([np.array([]),np.array([]),np.array([])])
print(x)

然后它才會返回

[]

如何讓它返回一個嵌套的空列表,就像它對普通的python列表一樣?

確實返回一個嵌套的空列表。 例如,試試

x = np.array([np.array([]),np.array([]),np.array([])])
>>> array([], shape=(3, 0), dtype=float64)

要么

>>> print x.shape
(3, 0)

不要讓print x的輸出欺騙你。 這些類型的輸出僅僅反映了__str____repr__的實現者的(美學)選擇。 要真正查看確切的維度,您需要使用.shape類的.shape

要從numpy數組返回嵌套的空列表,您可以執行以下操作:

x.tolist()
[[], [], []]

但是,即使只打印[] ,形狀也是正確的:

x.shape
(3, 0)

您可以訪問列表中的任何元素:

x[0]
array([], dtype=float64)

最簡單的解決方案是將其轉換為帶有tolist的列表

x = np.array([np.array([]),np.array([]),np.array([])])
print(x)
[]

print(x.tolist())
[[], [], []]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM