本文介绍了Python与替换组合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面是我的代码
import itertools
a = [1,2,3]
for i in itertools.combination_with_replacement(a,3):
print i
输出
(1, 1, 1),(1, 1, 2)
(1, 1, 3),(1, 2, 2)
(1, 2, 3),(1, 3, 3)
(2, 2, 2),(2, 2, 3)
(2, 3, 3),(3, 3, 3)
仅打印10个结果,但按公式,应该是3 ^ 3 = 27个输出。
Only 10 result is print out, but by formula, it should be 3^3 = 27 output.
所以我可以知道如何获得其他输出吗?
衷心感谢您的光临时间和建议。
So may i know, how to get the other output?
Sincerely thank for your time and suggestion.
推荐答案
您要使用笛卡尔积,而不是组合。
You want cartesian product, not combinations.
import itertools
print list(itertools.product([1, 2, 3], repeat=3))
这篇关于Python与替换组合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!