簡體   English   中英

二維數組索引訪問,帶步長值

[英]The 2D Array Index access, with step value

我有一個像這樣的數組:

a =np.array([[1,2,3,5,8,7,2,1,3,5,1,2,20,21],[3,8,3,9,8,7,10,1,3,5,1,2,20,21]])

要求:

需要使用給定的步驟訪問索引值。 例如,步長值 3。只有索引值而不是元素值。

所需 Output:

[[0,3,6,9,12],[0,3,6,9,12]]

使用列表推導來重復每一行的范圍。

a =np.array([[1,2,3,5,8,7,2,1,3,5,1,2,20,21],[3,8,3,9,8,7,10,1,3,5,1,2,20,21]])
indexes = [list(range(0, a.shape[1], 3)) for _ in range(a.shape[0])]

你可以做:

a = np.array([[1,2,3,5,8,7,2,1,3,5,1,2,20,21],[3,8,3,9,8,7,10,1,3,5,1,2,20,21]])
step = 3
indices = [np.arange(0, arr.size, step) for arr in a]

打印(索引):

[array([ 0,  3,  6,  9, 12]), array([ 0,  3,  6,  9, 12])]

如果您想要列表而不是 np arrays,只需使用.tolist()如下:

[np.arange(0, arr.size, step).tolist() for arr in a]

暫無
暫無

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

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