亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
Python 教程 / 副本/視圖

副本/視圖

副本和視圖之間的區(qū)別

副本和數(shù)組視圖之間的主要區(qū)別在于副本是一個新數(shù)組,而這個視圖只是原始數(shù)組的視圖。

副本擁有數(shù)據(jù),對副本所做的任何更改都不會影響原始數(shù)組,對原始數(shù)組所做的任何更改也不會影響副本。

視圖不擁有數(shù)據(jù),對視圖所做的任何更改都會影響原始數(shù)組,而對原始數(shù)組所做的任何更改都會影響視圖。

副本:

實例

進行復(fù)制,更改原始數(shù)組并顯示兩個數(shù)組:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.copy()
arr[0] = 61

print(arr) 
print(x)

運行實例

該副本不應(yīng)受到對原始數(shù)組所做更改的影響。

視圖:

實例

創(chuàng)建視圖,更改原始數(shù)組,然后顯示兩個數(shù)組:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
arr[0] = 61

print(arr) 
print(x)

運行實例

視圖應(yīng)該受到對原始數(shù)組所做更改的影響。

在視圖中進行更改:

實例

創(chuàng)建視圖,更改視圖,并顯示兩個數(shù)組:

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
x = arr.view()
x[0] = 31

print(arr) 
print(x)

運行實例

原始數(shù)組應(yīng)該受到對視圖所做更改的影響。

檢查數(shù)組是否擁有數(shù)據(jù)

如上所述,副本擁有數(shù)據(jù),而視圖不擁有數(shù)據(jù),但是我們?nèi)绾螜z查呢?

每個 NumPy 數(shù)組都有一個屬性 base,如果該數(shù)組擁有數(shù)據(jù),則這個 base 屬性返回 None。

否則,base 屬性將引用原始對象。

實例

打印 base 屬性的值以檢查數(shù)組是否擁有自己的數(shù)據(jù):

import numpy as np

arr = np.array([1, 2, 3, 4, 5])

x = arr.copy()
y = arr.view()

print(x.base)
print(y.base)

運行實例

副本返回 None。

視圖返回原始數(shù)組。