Python中itertools的最小值/最大值
我有这个密码:Python中itertools的最小值/最大值,python,dictionary,itertools,brute-force,Python,Dictionary,Itertools,Brute Force,我有这个密码: import itertools res = itertools.product('abc', repeat=3) for i in res: print ''.join(i) 问题是我不知道怎样才能在输出的单词中添加最小值和最大值?假设我输入了字母'a','b'和'c',但我只需要最少1个字母和最多2个字母的单词:我该怎么做?我已经在网上搜索过了,但什么也找不到。它旨在为暴力制作一本词典。使用itertools.permutations()。然后连接结果 S =
import itertools
res = itertools.product('abc', repeat=3)
for i in res:
print ''.join(i)
问题是我不知道怎样才能在输出的单词中添加最小值和最大值?假设我输入了字母'a'
,'b'
和'c'
,但我只需要最少1个字母和最多2个字母的单词:我该怎么做?我已经在网上搜索过了,但什么也找不到。它旨在为暴力制作一本词典。使用itertools.permutations()。然后连接结果
S = [x for x in permutations('abc',2)] + [ x for x in permutations('abc',1)]
实际上你也可以使用产品
。唯一的区别是产品会删除重复的结果。但是,当所有元素都不同时,就不会有任何重复项。使用itertools.permutations()。然后连接结果
S = [x for x in permutations('abc',2)] + [ x for x in permutations('abc',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)
这个怎么样
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)
最少一个字母是什么意思?好像你不想要“aa”?你说最少一个字母是什么意思?就像你不想要“aa”?考虑到上下文(为暴力攻击建立字典),允许重复是有意义的,所以使用置换会更好。考虑到上下文(为暴力攻击建立字典),允许重复是有意义的,所以使用置换会更好。