簡體   English   中英

python計算給定字符的所有可能組合

[英]python calculates all possible combinations of given characters

我正在嘗試編寫一個程序來計算 ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 給定字符的所有可能組合......但僅適用於 8 個點,例如 AAAAAAAA、AAAAAAAAa、AAAAAAaa...

像這樣的事情作為開始

對於 i 在 xrange(999999999):

print ''.join(['ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'[j]

對於 j in [(i//d)%36 for d in (63,54,45,36,27,9,3,1)]])

我想通了我的工作在上面謝謝你的幫助

這可能需要一段時間才能運行,因為有很多可能的排列。 所以只要事先知道。 我的解決方案:

from itertools import permutations

options = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
possibilities = [w for w in permutations(options, 8)]

這將列出所有可能的密碼存儲在 possible 變量中。

mystring = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'
from itertools import product
combos = [''.join(i) for i in product(mystring, repeat = 8)]
type(combos)

返回組合列表。

我的小生成器算法:

def combinator(karakterler, uzunluk):
    l = len(karakterler)
    for i in range(l ** uzunluk):
        s = ""
        for j in range(uzunluk):
            i, index = divmod(i,l)
            s += karakterler[index]
        yield s

for i in combinator("abc",3): print(i)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM