2016-05-26 8 views
0

Wie wird es gemacht, um einen Stapel auf eine alternative Weise in separate Stapel zu teilen?Einen Stapel teilen (Python)

Für eine Instanz möchte ich den Stapel [1, 2, 3, 4, 5, 6, 7, 8, 9] zu [1, 3, 5, 7, 9] und [2, 4, 6, 8] aufteilen.

Antwort

7

Sie step size on the slice des Stapels verwenden:

In [11]: 
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] 
print(lst[::2]) 
print(lst[1::2]) 

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

So ist die Syntax hier ::2 übersetzt <start pos>:<end pos>:<step size>

So ist der erste lst[::2] geht in Schritten von 2 den zweiten lst[1::2] beginnt von 1 und geht in Schritt Größe 2

+0

So schnell realisiert! –

1

Ich nehme an, Sie möchten ungerade und gerade

trennen 210
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] 
odd = [ i for i in lst if i%2] 
even= [ i for i in lst if i%2 == 0 ] 
+1

Sie könnten davon ausgehen, dass das OP es nicht angibt. Tatsächlich würde ich annehmen, dass sie die Liste einfach in zwei teilen wollen, die abwechselnde Einträge nehmen. Es ist schwer zu wissen, ich stimme dir zu, aber ich denke, deine Annahme ist falsch. – SiHa

Verwandte Themen