如何从列表中获取方括号中的唯一值

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))