[英]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.