0
import itertools
printable = 'abcdefghijklmnopqrstuvwxz'
all_possibilites = ([''.join(i) for i in itertools.product(printable, repeat = 3)])
comparison = ['zd']
if comparison in all_possibilities:
print("match")
這是我的代碼片段。我的意圖是生成每一個字母組合。這裏的片段有三個字符的限制。限制過大的python會返回內存錯誤。我的問題是:我如何從內存中刪除不正確的結果?
有沒有辦法從內存中刪除不匹配的組合,以便唯一的限制是時間而不是內存?說如果字符限制是5?任何進一步的閱讀也會有所幫助。
你試圖達到的目的究竟是什麼?你的意思是所有可能的字母組合?隨着您將重複大小增加到無窮大,將會有無限組合。你所做的任何n字母組合都會存在,那麼比較的目的是什麼?如果我有itertools.product(範圍(3),重複= 3),您將有每個可能的3位組合0,1和2 - 您不需要檢查它是否存在。當然,記憶會快速填滿...... n = 5時你已經有26^5個組合。 – Daniel