2013-03-01 128 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