【发布时间】:2017-08-18 11:54:37
【问题描述】:
我有一个元组列表,其元素如下:
aa = [('a', 'b'), ('c', 'd'), ('b', 'a')]
我想将('a', 'b') and ('b', 'a') 视为同一个组,并且只想提取唯一的元组。所以输出应该是这样的:
[('a', 'b'), ('c', 'd')]
由于我的列表包含数百万个这样的元组,我如何才能有效地实现这一目标?
【问题讨论】:
-
您可以使用
set和frozenset,例如{frozenset(x) for x in aa} -
那么需要选择这两者中的哪一个?顺序重要吗?
-
无顺序无所谓
-
@mlRocks:那为什么这些对象是元组呢?您可能希望首先设置集合(
frozenset或set,不可变或可变)。 -
是否存在两个值相同的元组,例如
('a', 'a')?
标签: python python-2.7 set unique