我有一个大小为2的元组的列表,其中有浮动。一些浮点数几乎相等,并且非常接近,可以认为是相等的。numpy isclose()在这里可以得到很好的效果。我需要删除列表中的重复项,同时始终保留第一个值。在
import numpy as np
data=zip(C1,C2)
comparray=[]
eval1=np.isclose(data[0],data[1])
comparray.append(eval1[0])
i=0
while i<(len(data)-1):
eval=np.isclose(data[i],data[i+1])
print eval
comparray.append(eval[0])
i+=1
l1=[a for a,b in zip(data,comparray) if not b]
我有这个代码可以满足我的需要,但它看起来真的很差。有没有一种更像Python的方法? 谢谢你的帮助。在
你熟悉“集合”的结构吗?在
集合是无序的唯一元素的集合。我相信这种结构可以为您节省大量的开销,并且根据您的描述更适合您。在
https://docs.python.org/2/library/sets.html
如果我理解正确的话,你能做到的
但我不能真正测试这一点,因为您没有提供任何输入/输出示例。在
您可以像这样使用
function
相关问题 更多 >
编程相关推荐