我是Python的新手,嘗試用不同的方法來優化和簡化我的代碼。在陣列列表中找到數組的存在的更好方法
我有一個數組列表(一定是這種格式)最初是空的,我需要用數組更新,確保沒有添加重複的條目。
現在我做下面的方式,這是我想出來的唯一的事情,其工作原理:
if len(where(((array(self.pop_next)-(self.pop[self.top_indv_indx[i]]))==0).sum(1)==len((self.pop[self.top_indv_indx[i]])))[0])<=0):
self.pop_next.append(self.pop[self.top_indv_indx[i]])
其中self.pop_next
是我的數組列表,self.pop[self.top_indv_indx[i]]
是要添加的陣列。
我知道這Unpythonic,並猜測有更好的簡單的方法來做同樣的事情。 請幫助
什麼是'where'?你在用'numpy'數組嗎?如果你可以將代碼分解成幾行,那麼它會很好。 – pajton
是的,我使用numpy數組。現在我隱式地試圖用where關鍵字來匹配數組。 – Sachiros
如果你試圖擁有不同對象的容器,那麼你應該使用'set'和你自己的'__cmp__'操作?你的項目做什麼? – pajton