Hallo zusammen
Ich habe folgendes Problem: Ich möchte eine n-stellige liste in 2er-listen aufteilen (die liste hat eine gerade Zahl von Elementen)
Bsp:
in = (1,2,3,4,5,6)
out =((1,2),(3,4),(5,6))
Die Ausgangslisten können manchmal etwas grösser sein. Am besten mit der std-lib gelöst.
Bin euch sehr dankbar.
Gruss Tino
Liste aufsplitten
- pillmuncher
- User
- Beiträge: 1484
- Registriert: Samstag 21. März 2009, 22:59
- Wohnort: Pfaffenwinkel
Code: Alles auswählen
>>> xs = iter(xrange(15))
>>> zip(xs, xs)
[(0, 1), (2, 3), (4, 5), (6, 7), (8, 9), (10, 11), (12, 13)]
In specifications, Murphy's Law supersedes Ohm's.
Mit Ausgabe von eventuellem Rest:
mutetella
Code: Alles auswählen
def chunk(iterable, n):
length = len(iterable)
result = []
left = 0
right = n
while length >= 0:
result.append(iterable[left:right])
left += n
right += n
length -= n
return result
Code: Alles auswählen
>>>chunk((1,2,3,4,5,6,7), 3)
[(1, 2), (3, 4), (5, 6), (7,)]
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
@EyDu
Meinst Du? Ich schnall' das oft gar nicht. Vielleicht auch, weil ich selber nie auf 'ner Uni oder sowas war und mir deshalb solche Aufgaben auch überhaupt nicht bekannt sind. Wenn dann mal 'ne Frage kommt, deren Beantwortung ich mir halbwegs zutraue, nehme ich das dann gern auch als eigene Übung...
Was ich aber immer überhaupt nicht verstehen kann (ohne dem TO jetzt was zu unterstellen) ist, warum man sich in einem Forum 'ne schnelle Lösung sucht. Warum gehen diese Leute auf eine Schule, die solche Aufgaben stellt, wenn sie das letztlich gar nicht interessiert? Ich gäbe viel dafür, die Zeit nochmals ein paar Wochen zurückdrehen zu können und das ganze Zeugs "von der Pike auf" ordentlich zu lernen...
Na ja, sei's drum...
mutetella
Meinst Du? Ich schnall' das oft gar nicht. Vielleicht auch, weil ich selber nie auf 'ner Uni oder sowas war und mir deshalb solche Aufgaben auch überhaupt nicht bekannt sind. Wenn dann mal 'ne Frage kommt, deren Beantwortung ich mir halbwegs zutraue, nehme ich das dann gern auch als eigene Übung...
Was ich aber immer überhaupt nicht verstehen kann (ohne dem TO jetzt was zu unterstellen) ist, warum man sich in einem Forum 'ne schnelle Lösung sucht. Warum gehen diese Leute auf eine Schule, die solche Aufgaben stellt, wenn sie das letztlich gar nicht interessiert? Ich gäbe viel dafür, die Zeit nochmals ein paar Wochen zurückdrehen zu können und das ganze Zeugs "von der Pike auf" ordentlich zu lernen...
Na ja, sei's drum...
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
@mutetella Vielleicht, weil man auf die Schule gehen muss… vielleicht, weil man an anderen Kursen der Schule interessiert ist, diesen aber belegen muss… vielleicht, weil sie nicht auf das Lernen, sondern auf das Zeugnis aus sind… alles gute Gründe, eine schnelle Lösung zu suchen.
@lunar
- Ich gehe mal davon aus, dass das alles keine Schulpflichtigen mehr sind
- Nun ja, auf der Hauswirtschaftsschule werden sicherlich keine Python-Aufgaben gestellt... will sagen, wenn ich einen Kurs "Programmieren" belegen muss, so habe ich mich doch für eine Schule entschieden, die auch irgendwie damit zu tun hat. Wenn ich mich z. B. hauptsächlich und am liebsten mit Python auseinandersetze interessieren mich doch trotzdem auch Dinge wie Linux, Apple und mein ThinkPad
- Nur auf ein Zeugnis aus sein? Puh... was für 'ne Vorstellung...
Ich versteh' natürlich schon, was Du meinst. Ich tu' mir nur schwer, das zu akzeptieren. Sollte jemand, der sich aus den von Dir genannten Gründen mit Python oder sonst einem Thema aus dem weiteren "Dunstkreis" auseinandersetzen "müssen" nicht besser etwas anderes tun? Wird so jemand wirklich gut auf seinem Gebiet? Wird er/sie letztlich etwas tun, das ihn/sie zufriedenstellt? Oder ist das, was ich meine, Luxus?
mutetella
- Ich gehe mal davon aus, dass das alles keine Schulpflichtigen mehr sind
- Nun ja, auf der Hauswirtschaftsschule werden sicherlich keine Python-Aufgaben gestellt... will sagen, wenn ich einen Kurs "Programmieren" belegen muss, so habe ich mich doch für eine Schule entschieden, die auch irgendwie damit zu tun hat. Wenn ich mich z. B. hauptsächlich und am liebsten mit Python auseinandersetze interessieren mich doch trotzdem auch Dinge wie Linux, Apple und mein ThinkPad
- Nur auf ein Zeugnis aus sein? Puh... was für 'ne Vorstellung...
Ich versteh' natürlich schon, was Du meinst. Ich tu' mir nur schwer, das zu akzeptieren. Sollte jemand, der sich aus den von Dir genannten Gründen mit Python oder sonst einem Thema aus dem weiteren "Dunstkreis" auseinandersetzen "müssen" nicht besser etwas anderes tun? Wird so jemand wirklich gut auf seinem Gebiet? Wird er/sie letztlich etwas tun, das ihn/sie zufriedenstellt? Oder ist das, was ich meine, Luxus?
mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
Wie kommst du darauf, dass das keine normalen Hausaufgaben für die Schule sind? Es gibt durchaus Personen, welche Informatik als Wahlpflicht nehmen, obwohl sie in diesem Bereich völlig talentfrei sind. In meiner Stufe gab es auch zwei oder drei solcher Phänomene, welche dann zum Beispiel for-Schleifen mit Copy&Paste ausprogrammiert haben. Irgend ein Fach muss man wählen. So habe ich mich auch "freiwillig" für Erdkunde entschieden weil es mich "interessiert" hat. Ok, am Ende war es eines der besten Fächer und wurde sogar Prüfungsfach bei mir, aber das ist ein anderes Thema
Für eine Aufgabe an der Uni ist das auf jeden Fall viel zu einfach. Das Beispiel zeigt man, mit Lösung, höchstens kurz im Vortrag. Aber selbst dafür ist es eigentlich zu einfach, weil jeder in der Lage ist dieses Problem selbstständig zu lösen.
Für eine Aufgabe an der Uni ist das auf jeden Fall viel zu einfach. Das Beispiel zeigt man, mit Lösung, höchstens kurz im Vortrag. Aber selbst dafür ist es eigentlich zu einfach, weil jeder in der Lage ist dieses Problem selbstständig zu lösen.
Das Leben ist wie ein Tennisball.
@lunar
Glückwunsch!
Glückwunsch!
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )