2013-03-01 129 views
0

好吧我正在努力创建一个增量列表循环。python递增字符循环

希望实现一个循环,执行下列操作: 循环遍历charset1 a-Z。如果没有找到匹配,则添加循环,以便aa-ZZ等。似乎无法找到一个好的方法来做循环。

import itertools 
result = "password" 
charset1 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'] 
charset2 = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] 
charcount = 1 

while i != result 
    finalchar = charset1[-1] 
    finalset = charset1[-1] * charcount 
    for check in 
+1

您可以为自己节省大量的工作'字符集1 =“ABCDEFGHIJKLMNOPQRSTUVWXYZ”'等等,或通过'import string; charset1 = string.lowercase; charset2 = string.letters'。 – 2013-03-01 06:57:35

回答

1

您可以使用它与repeat参数使用itertools.product作为模板如下:通过定义

from string import ascii_letters 
from itertools import product 

for i in range(1, 3): # do 1 and 2 chars 
    chars = product(ascii_letters, repeat=i) 
    for combo in chars: 
     print(''.join(combo)) 
+0

希望能够使用不同的字符集。这是脚本中定义的.. – user1451070 2013-03-01 22:44:39

+0

[编辑] nvm算出来。感谢您的帮助。 – user1451070 2013-03-01 22:53:31