1. 简单实现
import numpy as np
def unique(ar):
perm = ar.argsort()
aux = ar[perm]
flag = np.concatenate(([True], aux[1:] != aux[:-1]))
return aux[flag]
if __name__ == '__main__':
ar = np.random.randint(1, 5, 10)
print(ar)
print(unique(ar))
2. 说明如下
import numpy as np
def unique(ar):
perm = ar.argsort() # 排序,perm 一次全排列
aux = ar[perm] # aux 表示排序后的数组
flag = np.concatenate(([True], aux[1:] != aux[:-1]))
# ar 中元素值不相同的个数及其对应的位置
return aux[flag]