python - 查找所有组合,其中每个数字都是从不同的集合中挑选出来的

标签 python combinatorics

我需要生成一系列数字的每个组合,其中每个数字都可以从有限集中挑选出来。

例如:

(1|2), (1|2), (2|3), (2|3), (2|3), (3|4|5)

第一个数字可以是 1 或 2,最后一个数字可以是 3、4 或 5。

1,2,2,3,2,4 是有效组合,但 3,2,2,3,2,4 则不是。

最简单的方法是什么?

最佳答案

itertools.product正是这样做的:

import itertools

for x in itertools.product('12','12','23','23','23','345'):
    print(', '.join(x))

关于python - 查找所有组合,其中每个数字都是从不同的集合中挑选出来的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9292819/

相关文章:

algorithm - 如何创建没有两首连续歌曲在同一调中的轨道列表

python - 如何获取两个列表之间的所有映射?

python - 列表字典的笛卡尔积

python - 按多列对数据框中的连续条目进行聚类/分组

Python slice 如何区分切片参数和默认参数(例如,x[i :] vs. x[i :None])?

python - Pygame rect.center 属性

Python - 将列表范围设置为特定值

c++ - 我写的这个计算 NCR 的函数有什么问题吗?

python - 如何使用 python boto3 显示我的 aws 帐户中的所有快照

r - 确定所有组合但使用分组变量