在 Python 中识别具有相同"i"值的元素



我有一个尺寸为(1,10,2)的数组A。我想要代码给我相同的i元素。如果我有[0,1]i=0j=1。附加所需的输出。

import numpy as np
A = np.array([[[0, 1],
[0, 2],
[1, 3],
[2, 3],
[2, 5],
[3, 4],
[3, 6],
[4, 7],
[5, 6],
[6, 7]]])
for i in range(0,len(A[0])):
print([A[0,i]])

期望的输出是

i=0: array([[[0, 1],[0,2]]])
i=1: array([[[1,3]]])
i=2: array([[[2, 3],[2,5]]])
i=3: array([[[3,4],[3,6]]])
i=4: array([[[4,7]]])
i=5: array([[[5,6]]])
i=6: array([[[6,7]]])
i_max = A[:,:,0].max()
for i in range(0,i_max+1):
slice_as_str = str(A[A[:,:,0]==i]).replace("n", "").replace(" ", ",")
print(f"i={i}: array([{slice_as_str}])")

按如下方式编辑代码:

import numpy as np
A = np.array([[[0, 1],
[0, 2],
[1, 3],
[2, 3],
[2, 5],
[3, 4],
[3, 6],
[4, 7],
[5, 6],
[6, 7]]])
for i in range(0,np.max(A[0,:,0] )):
print(f"i={i}: array([{A[(A[:,:,0] == i)]}])".replace('n ',','))

最新更新