我需要檢查列表列表中是否存在列表。我面臨的問題是,我的名單是由類的對象,所以我不能夠做到這一點使用正常 「在list_of_lists如果名單」的方法檢查python列表中是否存在列表
我的代碼的相關部分如下
for ind in feasible_pop_comp:
for other in feasible_pop_comp:
if ind.Type!= other.Type:
comp=[ind,other]
if comp not in self.candidate.list #does not work even with .any() or .all() included
dombool=self.compare_typematch(ind, other)
if (dombool==0):
replace=self.check_distance(ind.point,other.point)
if replace:
if(ind<other):
feasible_pop_comp.remove(other)
else:
feasible_pop_comp.remove(ind)
else:
self.candidate_list.append(comp)
我的類已經有內置的命令檢查結構相似性與其它類的對象(讀平等)
def __eq__(self, other):
return self.point == other.point# as all other parameters are derived from analysing the point, this equivalence is sufficient
回溯如下:
首次if comp not in self.candidate_list:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Failed !
它循環進入當self.candidate_list是空
正如你可能從我的unpythonic代碼注意,我是比較新的蟒蛇。 在此先感謝。
「我的類已經有內置的命令檢查與其它類對象的結構相似」 < - 你寫你班上的'__eq__'方法?如果是這樣,你可以繼續使用'正常',如果列表list_of_lists「方法」 – inspectorG4dget 2012-02-10 16:47:40
我似乎並沒有工作! – Sachiros 2012-02-10 16:48:32
向我們展示您的'__eq__'方法和回溯。 – senderle 2012-02-10 16:49:49