📜  Python - 所有可能的唯一 K 大小组合,直到 N

📅  最后修改于: 2022-05-13 01:55:45.509000             🧑  作者: Mango

Python - 所有可能的唯一 K 大小组合,直到 N

有时,在使用Python域时,我们可能会遇到需要生成各种元素组合的问题。这可以是 K 大小的唯一组合,直到 N。这个问题可以应用于数据域和学校编程。让我们讨论可以执行此任务的某些方式。

方法 #1:使用product() + setdefault() + loop
上述功能的组合提供了解决此问题的方法。在此,我们使用 product 执行所有组合并使用 setdefault() 消除重复项,并通过蛮力方法循环。

# Python3 code to demonstrate working of 
# All Possible unique K size combinations till N
# Using product() + setdefault() + loop
from itertools import product
  
# initializing N
N = 4
  
# Initialize K
K = 3
  
# All Possible unique K size combinations till N
# Using product() + setdefault() + loop
temp = list(product(range(N), repeat = K))
res = {}
for tup in temp:
    key = tuple(sorted(tup))
    res.setdefault(key, []).append(tup)
res = list(res.keys())
  
# printing result 
print("The unique combinations : " + str(res)) 
输出 :

方法#2:使用combinations_with_replacement()
这提供了解决此问题的替代方法。此函数在内部执行,这是解决问题所需的一切。

# Python3 code to demonstrate working of 
# All Possible unique K size combinations till N
# Using combinations_with_replacement()
from itertools import product, combinations_with_replacement
  
# initializing N
N = 4
  
# Initialize K
K = 3
  
# All Possible unique K size combinations till N
# Using combinations_with_replacement()
res = list(combinations_with_replacement(range(N), K))
  
# printing result 
print("The unique combinations : " + str(res)) 
输出 :