经纬恒润 标记重复元素 python
2022.09.15
题目描述
在给定的numpy数组中找到重复的条目(第二次出现以后),并将它们标记为True(第一次出现应该为False)。
输入
[[0,0,3,0],[2,4,2,2]]
输出
[[false,true, false,true],[false,false,true,true]]
解题思路
numpy.unique的使用方法
numpy.unique 函数用于去除数组中的 重复元素。
numpy.unique(arr, return_index, return_inverse, return_counts)
- arr:输入数组,如果不是一维数组则会展开
- return_index:如果为true,返回 新列表元素在旧列表中的位置(下标),并以列表形式储
- return_inverse:如果为true,返回旧列表元素在新列表中的位置(下标),并以列表形式储
- return_counts:如果为true,返回去重数组中的元素在原数组中的出现次数
import numpy as np
def search(ori_array):
res = []
for i in range(len(ori_array)):
a = ori_array[i]
b=np.full(len(a),True)
vals,counts=np.unique(a,return_index=True)
b[counts] = False
res.append(list(b))
return res
ori_array=[[0,0,3,0],[2,4,2,2]]
print(search(ori_array))
Original: https://blog.csdn.net/dearzhuiyi/article/details/126880960
Author: 爱吃花椒的刺猬酱
Title: 经纬恒润 标记重复元素 python
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/761615/
转载文章受原作者版权保护。转载请注明原作者出处!