假設我在 python 中有以下 NumPy 陣列:
V = 2*np.ones([7,1]); V[0]=1; V[6]=1
這會給我:
V = ([[1.],
[2.],
[2.],
[2.],
[2.],
[2.],
[1.],])
如何僅更改具有奇數索引的術語?例如,將第 1,3 和 5 行的項更改為 4(將第一個計為第 0 行),如下所示:
V = ([[1.],
[4.],
[2.],
[4.],
[2.],
[4.],
[1.],])
有沒有比開始回圈并逐個檢查每個元素更簡單的方法?在這個問題中,我采用了 7x1 列向量,但我想解決 Nx1 陣列的一般情況。先感謝您!
uj5u.com熱心網友回復:
您可以簡單地使用切片運算子,例如
V[1::2] = 4
這意味著從第二個條目 1 開始,然后從那里逐步執行 2。
uj5u.com熱心網友回復:
您可以enumerate()使用V:
for i,j in enumerate(V):
if i % 2 == 1:
V[i] = 4
輸出:
array([[1.],
[4.],
[2.],
[4.],
[2.],
[4.],
[1.]])
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/414896.html
標籤:
