我有我沒有找到任何地方接聽互聯網上的問題(這是關於Python):列表 - 努力消除加倍項
我已經是這樣描述一個名爲π介子和類:
class Pion():
def __init__(self,x,y):
self.x = x
self.y = y
在主函數
,我創建π介子的列表:
PionList = []
我將這些值到這個列表:
PionList.append(Pion(3,4))
PionList.append(Pion(4,6))
PionList.append(Pion(3,4))
PionList.append(Pion(2,9))
PionList.append(Pion(4,6))
現在,我想找到一種方法來清理列表,並且只有列表中的每個元素具有唯一的x和y屬性組合,所以最後,我的列表將有3個元素,而不是5個(I要消除倍增項(3,4)和(4,6),只有具有Pion(3,4)
一個元素一個元素,Pion(4,6)
一個元素,並與Pion(2,9)
我一直試圖實現它在我的代碼和我我無法想象我將如何處理。
這個問題的任何線索或可能的解決方案?
集合的重點不在於檢查元素是否在集合中 - 您已經實現它的方式,您可能已將列表視爲列表。 – chthonicdaemon
@chthonicdaemon:這裏的要點是快速進行遏制檢查。通過列表,遏制檢查將按照與列表大小成正比的時間運行。 – user2357112
@chthonicdaemon,使用列表,時間複雜度變爲O(n^2)。 – falsetru