看板 Python 關於我們 聯絡資訊
※ 引述《magiclass (課堂上玩數學)》之銘言: : 希望能做一個List,其中L[i]=(set1,set2,...) : 而每個set又包含兩大類元素(元素1,元素2) : 元素1和元素2都是數字串。 : 例: : L[0]=( ((1,2),(1,4)) , ((2,3),1) ) : L[1]=( ((4,5),(2,4)) , ((3,4),1) ) : 另外還要求可以用if條件句,去增加每個set的元素。 : 請問這樣的List要怎樣設計? 不知道這樣的設計符不符合要求: class MyList(object): def __init__(self): self.setList = [set(), set()] def addSet(self, setIdx, value): if isinstance(value, int): self.setList[setIdx].add(value) elif isinstance(value, list): self.setList[setIdx].add(tuple(value)) 因為list為mutable, 無法直接放到set中,必須先轉成tuple. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 223.142.232.150
mikapauli:要可以放到set中是需要hashable 10/04 00:08
mikapauli:只是在Python中基本上immutable<==>hashable 10/04 00:09
mikapauli:不過自定義物件是個例外 10/04 00:09