2017-03-30 2 views
0

ich einen Weg zu programmieren, ich versuche, alle möglichen Kombinationen in diesem Format zu generieren:Erhalten jede mögliche Permutation in einem Format Python

01-01-01-A 

Jetzt habe ich schon in der itertools.permutations und Kombinationen Libs sehe und Lesen Sie Beispiele, wie sie funktionierten. Obwohl mein Problem anders ist als die anderen Fragen, die ich gelesen habe

der erste Bereich kann von 0-38 gehen und die nächsten 2 Bereiche können von 0-9 gehen und der Brief kann von A-C gehen. Ich bin derzeit fest, wie ich itertools verwenden kann, um alle möglichen Kombinationen zu generieren, die dieses Format verwenden.

Was ich derzeit mit 1 Liste mit 4 Listen innen mit jedem dieser Zahlen denke:

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) 

Ich bin nicht wirklich sicher, wie ich das programmieren.

+0

Sie müssen genau sein, was Sie mit "Kombination" und "Permutation" meinen, sie sind nicht das Gleiche, und es ist nicht offensichtlich, welches Sie wollen. –

+1

Versuchen Sie es mit itertools.product – hsfzxjy

+0

@ juanpa.arrivillaga Sorry, ich suche nach Permutation. Ich habe gerade bemerkt, dass ich in jeden hinein geschaut habe. – datmellow

Antwort

1

Sie möchten 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

Vielen Dank. Genau das habe ich gebraucht! :) – datmellow

Verwandte Themen