如何从列表中获取方括号中的唯一值
How to get unique values in square brackets from list
我有一个包含此类值的列表:
my_list = [(1,2), (3,4), (5,6), (3,4), (2,1)]
我只想从那里获取唯一值。我也认为 (1,2) 和 (2,1) 相同。所以期望的结果是:
[(1,2), (3,4), (5,6)]
怎么做?
很难看,但这是一种解决方案。
>>> list(set(tuple(set(x)) for x in my_list))
[(1, 2), (3, 4), (5, 6)]
将每个 tuple
转换为 set
,然后转换回 tuple
,收集在外部 set
中以去除重复项,然后转换回 list
.
您可以通过使用frozenset
作为键来使用more_itertools.unique_everseen
:
result = list(unique_everseen(my_list, key=frozenset))
我有一个包含此类值的列表:
my_list = [(1,2), (3,4), (5,6), (3,4), (2,1)]
我只想从那里获取唯一值。我也认为 (1,2) 和 (2,1) 相同。所以期望的结果是:
[(1,2), (3,4), (5,6)]
怎么做?
很难看,但这是一种解决方案。
>>> list(set(tuple(set(x)) for x in my_list))
[(1, 2), (3, 4), (5, 6)]
将每个 tuple
转换为 set
,然后转换回 tuple
,收集在外部 set
中以去除重复项,然后转换回 list
.
您可以通过使用frozenset
作为键来使用more_itertools.unique_everseen
:
result = list(unique_everseen(my_list, key=frozenset))