查找元组的独特组合

时间:2019-08-27 06:54:46

标签: python-3.x

Input: 1 2 3 4
Output: (1,2)(3,4)
(1,3)(2,4)
(1,4)(2,3)

我已经能够提出解决问题的方法,但是它很有效。它需要优化。

comb = combinations(Arr,int(n/2))
l = []
for i in comb:
    l.append(i)
final_comb = combinations(l,int(n/2))
for i in final_comb:
    if is_unique(n,i):
       print(i)

def is_unique(n,tup):
    k = []
    for i in tup:
        for j in i:
            k.append(j)
    if len(set(k)) == n:
        return True
    return False

输出必须是元组的组合,这样它们都具有给定的数字作为输入

1 个答案:

答案 0 :(得分:2)

from itertools import combinations

list(combinations([1, 2, 3, 4], 2))

>>> [(1, 2), (1, 3), (1, 4), (2, 3), (2, 4), (3, 4)]