我尝试获取字符串的所有字母大小写排列,并将它们添加到一个列表中,如下所示:
allperm('an') should produce:
['an', 'aN', 'An', 'AN']
但我的输出是多个列表:
['a', 'n']
['a', 'N']
这是我现在的密码
def allperm(password):
n = len(password)
#2^n permuations
max = 1 << n
#lowercase password (base)
password = password.lower()
#get all permutations
for i in range(max):
perm = [k for k in password]
for j in range(n):
if (((i >> j) & 1) == 1):
perm[j] = password[j].upper()
#add to list
temp = ""
for i in perm:
temp += i
return(temp)
您可以
zip
将密码的小写字符与大写字符组合起来,并将它们传递给itertools.product
以生成所需的排列:因此
allperm('an')
返回:相关问题 更多 >
编程相关推荐