我正在嘗試在Python中設置一組。我不知道該怎么做。從空集開始xx:xx = set([])# Now we have some other set, for exampleelements = set([2,3,4])xx.add(elements)但我明白了TypeError: unhashable type: 'list'要么TypeError: unhashable type: 'set'Python中是否可以有一組集合?我正在處理大量集合,所以我希望不必處理重復的集合(集合A1,A2,....的集合B,如果Ai = Aj,則“將取消”兩個集合)
3 回答

眼眸繁星
TA貢獻1873條經驗 獲得超9個贊
人們已經提到您可以使用Frozenset()做到這一點,所以我將添加一個代碼來實現此目的:
例如,您要從以下列表列表中創建一組集合:
t = [[], [1, 2], [5], [1, 2, 5], [1, 2, 3, 4], [1, 2, 3, 6]]
您可以通過以下方式創建集合:
t1 = set(frozenset(i) for i in t)

慕神8447489
TA貢獻1780條經驗 獲得超1個贊
所以我有完全相同的問題。我想制作一個可以作為一組集合使用的數據結構。問題在于集合必須包含不可變的對象。因此,您可以做的只是將其作為一組元組。對我來說很好!
A = set()
A.add( (2,3,4) )##adds the element
A.add( (2,3,4) )##does not add the same element
A.add( (2,3,5) )##adds the element, because it is different!
添加回答
舉報
0/150
提交
取消