2017-12-28 14 views

답변

0

당신은 목록을 가져올 수 permutations를 사용할 수 있습니다. 예를 들어

import string 
import itertools 
series = [''.join(r) for r in itertools.permutations([str(i) for i in range(10)]+[str(c) for c in string.ascii_uppercase], 2)] 
print(series) 
print(len(series)) # got 1260 here 
+0

은 1296 조합으로해서는 안됩니까? –

+0

아, 네, 그렇다면 시리즈는 AA BB CC DD .. 00 ... 99를 추가해야합니다. 그래서 2 층의 루프를 사용하여 시리즈를 만들 수 있습니다. – CSJ

4

현재 제안 잘못이다. 예를 들어 교체를 사용한 조합은 ABBA을 동시에 제공하지 않으며 첫 번째 만 제공합니다. 그리고 permutationsAA, BB,

이 대신 당신이 itertools.product을 사용해야 없습니다. 예를 들어

는 :

import string 
import itertools 

combinations_generator = itertools.product(string.ascii_uppercase + string.digits, 
              repeat=2) 
combinations = list(map(''.join, combinations_generator)) 
print(len(combinations)) 

이것은 당신에게 정확히 1,296 조합을 제공 할 것입니다. // 문서 :

combinations_generator 생성 튜플 등 ('A', 'A'), ('A', 'B')처럼
는 그리고 map(''.join, combinations_generator)으로 우리는 등