我有阵列
A=[1,2,2,2,2,2,2,2,2,2,3,5,5,5,5,5,5,5,6,7]
我想找到重复的所有数字的起始和结束索引。我期待:
2>>> [1,9]
5>>> [11,17]
答案 0 :(得分:0)
此代码应该有助于计算列表中的重复整数组
{
"token": "{token}"
}
答案 1 :(得分:0)
我的代码如下:
A=[1,2,2,2,2,2,2,2,2,2,3,5,5,5,5,5,5,5,6,7]
import numpy as np
xdiff = np.diff(A) == 0
xdiff_bol= xdiff.astype(np.int)
ii = np.concatenate((np.array([0]),xdiff_bol,np.array([0])))
sta = np.array([0,1])
输出如下:
array([0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0])
所有[0,1]块都是重复数字的起始索引,而[1,0]是重复数字的结束索引。
那么,如何在输出数组中识别[1,0]和[1,0]的索引位置?
答案 2 :(得分:0)
A=[1,2,2,2,2,2,2,2,2,2,3,5,5,5,5,5,5,5,6,7]
A = [1,2,2,2,2,2,2,2,2,2,3,5,5,5,5,5,5,5,6,7,2,2,2]
xdiff = np.diff(A) == 0
xdiff_bol= xdiff.astype(np.int)
ii = np.concatenate((np.array([0]),xdiff_bol,np.array([0])))
start_index=[]
end_index=[]
for index,number in enumerate(ii):
if (index+1) !=(len(ii)):
if (number==0) & (ii[index+1])==1:
start_index.append(index)
if (number==1) & (ii[index+1]==0):
end_index.append(index)
Repeat = np.array(A)
Repeat = Repeat[start_index]