2017-03-30 4 views
0

:형식 파이썬에서 모든 가능한 순열을 얻기 나는이 형식의 모든 가능한 조합을 생성하는 방법을 프로그램하기 위해 노력하고있어

01-01-01-A 
이제

나는 이미 itertools.permutations 조합 libs와에서 검토 한 그들이 어떻게 일했는지 예를 읽으십시오. 내 문제는 내가 읽은 다른 질문과 다르긴하지만

첫 번째 범위는 0-38까지 이어질 수 있고 다음 2 개의 범위는 0-9까지 갈 수 있으며 문자는 A-C에서 갈 수 있습니다. 현재 itertools를 사용하여이 형식을 사용하여 가능한 모든 조합을 생성 할 수있는 방법에 대해 고민하고 있습니다.

내가 현재 그 숫자의 각각 내부 4 개에는 1 개 목록 데 생각하고있다 : 나는이 프로그램을 수있는 방법을 정말 잘 모르겠어요

first_value = [] 
second_value = [] 
third_value = [] 
fourth_value = ["A", "B", "C"] 
final_value = [] 
for num in range(0, 39): 
    first_value.append(num) 
for num in range(0, 10): 
    second_value.append(num) 
    third_value.append(num) 
final_value.append(first_value) 
final_value.append(second_value) 
final_value.append(third_value) 
final_value.append(fourth_value) 
for value in itertools.permutations(final_value): 
    print(value) 

합니다.

+0

"조합"과 "순열"이 의미하는 바를 정확히 이해할 필요가 있습니다. 이들은 동일한 것이 아니며 원하는 것을 분명하지 않습니다. –

+1

itertools.product – hsfzxjy

+0

@ juanpa.arrivillaga 죄송합니다, 전 순열을 찾고 있어요. 나는 방금 각각을 들여다 보았다. – datmellow

답변

1

당신은 itertools.product을 원합니다.

import itertools 

map(lambda t: "-".join(t), 
    itertools.product(
     map(str, range(0,39)), 
     map(str, range(0,10)), 
     map(str, range(0,10)), 
     ['A', 'B', 'C']) 
    ) 
+0

고마워요. 이것은 내가 필요한 것입니다! :) – datmellow