【发布时间】:2015-11-24 15:26:06
【问题描述】:
我有一个集合列表:
L = [set([1, 4]), set([1, 4]), set([1, 2]), set([1, 2]), set([2, 4]), set([2, 4]), set([5, 6]), set([5, 6]), set([3, 6]), set([3, 6]), set([3, 5]), set([3, 5])]
(实际上在我的例子中是倒数元组列表的转换)
我想删除重复项以获得:
L = [set([1, 4]), set([1, 2]), set([2, 4]), set([5, 6]), set([3, 6]), set([3, 5])]
但如果我尝试:
>>> list(set(L))
TypeError: unhashable type: 'set'
或者
>>> list(np.unique(L))
TypeError: cannot compare sets using cmp()
如何获得具有不同集合的集合列表?
【问题讨论】:
-
一种方法是将
set的列表转换为list的list,然后删除重复项,然后将list元素转换回set。 -
@ZdaR 我要用粗体字说:你的提示是错误的。按照你的说明“转换@987654330的列表” @ 到
list的list,然后删除重复项”,我们得到list(map(list, [{3, 11}, {11, 3}]))输出[[3, 11], [11, 3]]。
标签: python list duplicates set unique