如何从python中的列表列表中获取唯一的组合值

Dar*_*ght 1 python unique python-2.7

我有一个类似的清单

items = [[1, 2], [2, 3], [2, 1], [1, 2]]
Run Code Online (Sandbox Code Playgroud)

只需要从集合中提取唯一的组合,而无需重复。例如[1,2]和[2,1]相同。在这种情况下,我们只需要考虑一组。

预期产量: [[1,2],[2,3]]

如何使用python实现呢?

Ale*_*all 6

items = [[1, 2], [2, 3], [2, 1], [1, 2]]
result = {tuple(sorted(c)) for c in items}
print(result)  # {(1, 2), (2, 3)}
Run Code Online (Sandbox Code Playgroud)

当心这将如何影响结果中组合和组合中数字的顺序。

  • 假设它允许`results'包含`items`中不存在的值,这不是一个不好的解决方案。例如,如果`items`为`[[2,1]]`,则`result`为`{(1,2)}` (2认同)