gpt4 book ai didi

python - 找到 N 个组中 N 个项目的所有组合,而没有重复的项目组合(python)?

转载 作者:行者123 更新时间:2023-11-30 23:33:13 25 4
gpt4 key购买 nike

我正在尝试找出一种方法来计算某个产品的所有可能的功能组合,并将它们作为列表返回,不重复。

我将项目(产品的功能)以这种方式分组:

a
a1
a2
a3

b
b1
b2

c
c1
c2
c3
c4

组和项目的数量未知,因此实际上有 N 个组和 N 个项目。

组合示例:

# Combinations with 3 groups
a1_b1_c1
a1_b2_c1
a1_b3_c1
...and so on

# Combinations with 4 groups
a1_b1_c1_d1
a1_b2_c1_d1
a1_b3_c1_d1
...and so on

我认为 a1_b2_c3a1_c3_b2 是重复的,并且我不希望返回的列表中有任何重复项。

没有所有功能的产品(例如 a1_b2b2)将不是有效的产品,因此我也不希望这些产品出现在返回的列表中。

我研究过 itertools 但我陷入困境。有什么想法吗?

最佳答案

您肯定想要 itertools.product:

import itertools

for i in itertools.product(['a1','a2','a3'], ['b1','b2'],['c1','c2','c3','c4']):
print '_'.join(i)

返回

a1_b1_c1
a1_b1_c2
a1_b1_c3
...
a3_b2_c1
a3_b2_c2
a3_b2_c3
a3_b2_c4

关于python - 找到 N 个组中 N 个项目的所有组合,而没有重复的项目组合(python)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com