这里我们以对福彩3D号码进行排列组合为例学习Python的itertools模块的用法。首先我们选择心仪的号码。比如我们选择4,5,7,8
第一种我们只要组六的组合。代码如下
import itertools #导入itertools模块
for i in itertools.combinations([4,5,7,8], 3): # 这里利用itertools 中的combinations创建一个迭代器,返回iterable中所有长度为r的子序列,返回的子序列中的项按输入iterable中的顺序排序:
print (i) #打印出结果
也要以直接写成
import itertools
print (list(itertools.combinations([4,5,7,8],3)) )
如果我们输入的是4578,我们需要生成的结果中间用,号隔开,也可以将代码写成这样。
import itertools
str= ","
for i in itertools.combinations('4578', 3):
print (str.join(i))
#这里利用Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。
第二种我们要所有的直选组合 用到的模块是permutations
代码示例:
import itertools
str= ","