2016-06-28 2 views
-1

Ich habe eine Liste von Nummer:Wie finde ich alle möglichen aufsteigenden und absteigenden Reihenfolgen aus einer Liste?

number = [1,2,3,4,5,6,...,20] 

Ich mag würde alle möglichen auf- und absteigenden Reihenfolge von 6 insgesamt aus meiner Liste erzeugen.

possible_ordered: 
[1,2,3,4,5,6] 
[2,3,4,5,6,7] 
[3,4,5,6,7,8] 
... 
[15,16,17,18,19,20] 
[20,19,18,17,16,15] 
[15,14,13,12,11,10] 
[10,9,8,7,6,5] 
[6,5,4,3,2,1] 

Dies ist, was ich bisher versucht habe.

a = [1,2,3,4,5,6,7,8,9,10] 
for x in a: 
b = a[a.index(x):a.index(x)+6] 
if len(b) == 6: 
    print b 

Ausgang:

[1, 2, 3, 4, 5, 6] 
[2, 3, 4, 5, 6, 7] 
[3, 4, 5, 6, 7, 8] 
[4, 5, 6, 7, 8, 9] 
[5, 6, 7, 8, 9, 10] 

Ich weiß nicht, wie die absteigende Reihenfolge zu bekommen, und ich bin nicht wirklich sicher, dass dies ein guter Code.

+0

Bitte [Bearbeiten] Ihre quesiton und schließen Sie den Code versucht haben. Funktioniert es? –

+0

@Lutz Horn Ich bin so6ry. Ich habe es bearbeitet. –

+0

Ich verstehe die zweite Hälfte Ihrer erwarteten Ausgabe nicht. Wird auch "[19, 18, 17. 16, 15, 14]" erwartet? –

Antwort

0

Try this:

a = list(range(1, 21)) 
b = list(range(20, 0, -1)) # the revers of a 

print([a[start: start + 6] for start in range(len(a) - 5)] + 
     [b[start: start + 6] for start in range(len(a) - 5)]) 

Ausgang:

[[1, 2, 3, 4, 5, 6], 
[2, 3, 4, 5, 6, 7], 
[3, 4, 5, 6, 7, 8], 
[4, 5, 6, 7, 8, 9], 
[5, 6, 7, 8, 9, 10], 
[6, 7, 8, 9, 10, 11], 
[7, 8, 9, 10, 11, 12], 
[8, 9, 10, 11, 12, 13], 
[9, 10, 11, 12, 13, 14], 
[10, 11, 12, 13, 14, 15], 
[11, 12, 13, 14, 15, 16], 
[12, 13, 14, 15, 16, 17], 
[13, 14, 15, 16, 17, 18], 
[14, 15, 16, 17, 18, 19], 
[15, 16, 17, 18, 19, 20], 
[20, 19, 18, 17, 16, 15], 
[19, 18, 17, 16, 15, 14], 
[18, 17, 16, 15, 14, 13], 
[17, 16, 15, 14, 13, 12], 
[16, 15, 14, 13, 12, 11], 
[15, 14, 13, 12, 11, 10], 
[14, 13, 12, 11, 10, 9], 
[13, 12, 11, 10, 9, 8], 
[12, 11, 10, 9, 8, 7], 
[11, 10, 9, 8, 7, 6], 
[10, 9, 8, 7, 6, 5], 
[9, 8, 7, 6, 5, 4], 
[8, 7, 6, 5, 4, 3], 
[7, 6, 5, 4, 3, 2], 
[6, 5, 4, 3, 2, 1]] 
+0

Das ist gut. Danke. –