Liste aufsplitten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pytino
User
Beiträge: 11
Registriert: Montag 18. Februar 2008, 14:06
Wohnort: Winterthur

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
Benutzeravatar
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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Sind wir hier nun tatsächlich schon so weit, dass Lösungen zu Hausaufgaben für die grundlegensten Operationen gezeigt werden?
Das Leben ist wie ein Tennisball.
pytino
User
Beiträge: 11
Registriert: Montag 18. Februar 2008, 14:06
Wohnort: Winterthur

Danke euch viel mal.
@pillmuncher genau das was ich brauche...

Gruss Tino
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@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
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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 :wink:

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.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@lunar
Glückwunsch! :mrgreen:
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten