Python 3.x 从数组中删除重复的复数

Python 3.x 从数组中删除重复的复数,python-3.x,numpy,Python 3.x,Numpy,我有一个由复数组成的数组。但是数组的某些元素是重复的,我想删除重复的元素。因此,如果我的数组是: [287.51064 +91.59481j 287.51066 +91.59486j 635.2268 +60.25797j 635.22683 +60.25794j 827.34355+107.88367j] 我想得到一个包含以下元素的新数组: [287.51064+91.59481 635.2268+60.25797 827.34355+107.88367j] 我尝试使用np.uniq

我有一个由复数组成的数组。但是数组的某些元素是重复的,我想删除重复的元素。因此,如果我的数组是:

[287.51064 +91.59481j 287.51066 +91.59486j 635.2268  +60.25797j  635.22683 +60.25794j 827.34355+107.88367j]
我想得到一个包含以下元素的新数组:

[287.51064+91.59481 635.2268+60.25797  827.34355+107.88367j]
我尝试使用np.unique函数。但它不起作用


如何做到这一点?

以下是您可以做到的方法:

lst = [287.51064 + 91.59481j, 287.51066 + 91.59486j,
       635.2268 + 60.25797j,  635.22683 + 60.25794j,
       827.34355 + 107.88367j]
result = list(set(round(x.real, 3) + round(x.imag, 3) * 1j for x in lst))
输出:

[(287.511+91.595j), (827.344+107.884j), (635.227+60.258j)]

635.2268+60.25797j和635.22683+60.25794j不是相同的数字。是吗?你应该仔细检查,你的数组没有任何重复项。@RiccardoBucco。我的程序生成这个数组。我只想最多3个小数。对于虚部,我有相同的数字,最多3位小数。因此,我想删除重复的元素。