添加唯一的无序集列表

jer*_*use 0 python algorithm

我必须从数字列表中创建唯一的,无序的2个元素集.然后将每个集合插入一个列表.

例如:

  1. setslist = [(2,1)]
  2. uniquenumbers = [1,2,3]
  3. 独特集 - (1,2),(2,3),(1,3)
  4. setslist如果它们不存在则插入每个集合.(集合是无序的.所以(1,2)与(2,1)相同)
  5. 最后 setslist = [(2,1),(2,3),(1,3)]

python中最优化的解决方案是什么?

Ash*_*ary 5

>>> from itertools import combinations
>>> lis=[1,2,3,4,5]
>>> [x for x in combinations(lis,2)]
[(1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)]
Run Code Online (Sandbox Code Playgroud)