Seite 1 von 1
Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 11:47
von pytino
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
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 12:16
von pillmuncher
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)]
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 12:21
von mutetella
Mit Ausgabe von eventuellem Rest:
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,)]
mutetella
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 12:25
von EyDu
Sind wir hier nun tatsächlich schon so weit, dass Lösungen zu Hausaufgaben für die grundlegensten Operationen gezeigt werden?
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 13:07
von pytino
Danke euch viel mal.
@pillmuncher genau das was ich brauche...
Gruss Tino
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 13:17
von mutetella
@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
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 13:30
von lunar
@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.
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 14:01
von mutetella
@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
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 14:16
von EyDu
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.
Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 15:15
von mutetella
@lunar
Glückwunsch!

Re: Liste aufsplitten
Verfasst: Donnerstag 1. November 2012, 15:26
von lunar
@mutetella Danke
