Wie teilt Python-Liste jede N-te element
Was ich versuche zu tun, ist ziemlich einfach, aber ich konnte nicht herausfinden, wie es zu tun.
- Beginnend mit dem 1. element setzen jedes 4. element in eine neue Liste.
- Wiederholen mit der 2., 3., und 4. Elemente.
Aus:
list = ['1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b']
Zu:
list1 = ['1', '5', '9']
list2 = ['2', '6', 'a']
list3 = ['3', '7', 'b']
list4 = ['4', '9']
In anderen Worten, ich muss wissen, wie:
- Bekommen das N-te element aus einer Liste (in einer Schleife)
- Speichern Sie es in neue arrays
- Wiederholen
- Nicht generieren von neuen Variablen. Speichern Sie Ihre Listen in einer übergeordneten Liste statt.
InformationsquelleAutor octosquidopus | 2014-11-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die spezielle Lösung ist die Verwendung von schneiden mit einer Schrittlänge:
source[::4]
nimmt jedes 4. element, beginnend bei index 0; die anderen Segmente verändert nur die Start-index.Den generic Lösung ist die Verwendung einer Schleife zu tun, dem schneiden und speichern das Ergebnis in einem äußeren Liste; eine Liste Verständnis tun können, schön:
Demo:
n
islice
Iteratoren dann.[[0, 1, 2], [3, 4, 5]]
Stil Ausgabe, das wird nicht funktionieren. (Ja, für diese Frage die Antwort oben ist richtig, aber ich war auf der Suche für diese Art von Ausgang und stolperte über diese auf google.) Endete mit dieser statt.Den nummerierten Bezeichnungen sind eine schlechte Idee, und man sollte nicht die Namen Ihrer eigenen Variablen
list
(es Schatten der built-in), aber im Allgemeinen Sie können etwas tun: