我有一个元素列表,我想检查双元素(没有元素会出现三次,只有一次或两次),然后我想删除这样一个元素的原件和副本。因此,最后我需要一个列表,其中包含在原始列表中只出现过一次的所有元素
列表中的元素都是行,所以我需要互相检查端点和起点,看看哪些行是相同的。我已经写了一些行,但似乎没有一行行行得通。我已经编写了一个小函数来检查行并查找双行,但我似乎无法解决如何删除列表中的副本和原始元素。这是查找双线的函数:
def cmp_lines(l1, l2):
return(l1[0]==l2[0] and l1[1]==l2[1]) or (l1[0]==l2[1] and l1[1]==l2[0])
例如:
list = [Line([1,0],[2,1]), Line([1,3],[4,5]), Line([2,1],[1,0])]
newList = [Line([1,3],[4,5])]
使用Python2.x是一项要求
您应该编写一个函数,将行列表作为输入,并相应地对其进行过滤。如果两条线相等,该函数将使用cmp_线进行比较。 根据对象和类的定义调整以下方法
相关问题 更多 >
编程相关推荐