我有这段代码:
import itertools
res = itertools.product('abc', repeat=3)
for i in res:
print ''.join(i)
问题是我不知道我怎么也可以添加最小值和最大值来输出那个字?所以我要说我添加了'a'
,'b'
和'c'
字母,但我只想要一个最少1个字母和最多2个字母的单词:我该怎么做?我已经在互联网上搜索过,但找不到任何东西。它的目的是为蛮力制作一本字典。
答案 0 :(得分:2)
使用itertools.permutations()。然后连接结果。
S = [x for x in permutations('abc',2)] + [ x for x in permutations('abc',1)]
实际上你也可以使用products
。唯一的区别是产品删除了重复的结果。但是当所有元素都不同时,你不会有任何重复。
答案 1 :(得分:1)
这个怎么样?
import itertools
min_letters = 1
max_letters = 2
for num in range(min_letters, max_letters + 1):
res = itertools.product('abc', repeat=num)
for i in res:
print ''.join(i)