簡體   English   中英

np.zeros((2,1)) vs np.zeros([2,1]) 它們之間有什么區別?

[英]np.zeros((2,1)) vs np.zeros([2,1]) whats difference between them?

np.zeros((2,1))np.zeros([2,1])有什么區別

一切似乎都是真的,但為什么不同的制作方式

import numpy as np
np.zeros((2,1)) == np.zeros([2,1])   # return array([[ True], [ True]], dtype=bool)
np.zeros((2,1)).shape               # return (2,1)
np.zeros([2,1]).shape                # return (2,1)

傳遞的 np.zeros((2,1)) 參數是元組(不可變)。 傳遞的 np.zeros([2,1]) 參數是列表(可變)。 希望這可以幫助。

在大多數情況下,您可以使用元組或列表來存儲和操作數據。 不過,您看到的是在 numpy 模塊中定義的方法,該方法接受一個元組並返回一個數組。 當傳遞一個列表時,python 會自動調用 tuple() 方法來轉換 object。 這稱為隱式類型轉換,Python 可以識別元組,因為對象之間的相似性以及用於訪問它的方法。

這些對象之間的區別在於元組是不可變的 object,而列表是可變的 object。 這意味着可以修改列表 object ,但是在將其傳遞給此 function 之后並不重要 - 因為隱式類型轉換。

暫無
暫無

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

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