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")
내 코드 스 니펫입니다. 내 의도는 알파벳의 모든 단일 조합을 생성하는 것입니다. 여기에있는 스 니펫에는 3 자 제한이 있습니다. 너무 큰 파이썬은 메모리 오류를 반환합니다. 내 질문 :어떻게 메모리에서 잘못된 결과를 제거 할 수 있습니까?
유일한 제한 시간 메모리가 아닌 순서로 일치하지 않는 조합을 메모리에서 제거 할 수있는 방법이 있습니까? 글자 수 한도가 5 인 경우? 이것에 대한 더 자세한 내용은 도움이 될 것입니다.
달성하고자하는 목표는 무엇입니까? 가능한 모든 알파벳 조합이 무슨 뜻인가요? 반복 크기를 무한대로 늘리면 무한한 조합이있게됩니다. 당신이 만드는 모든 n 글자 조합이 존재할 것이므로 비교 목적은 무엇입니까? itertools.product (range (3), repeat = 3)가 있으면 0,1,2의 가능한 모든 3 자리 조합을 갖게됩니다. 존재 여부를 확인할 필요가 없습니다. 물론 메모리가 빠르게 채워질 것입니다. n = 5이면 이미 26^5 개의 조합이 있습니다. – Daniel