listen zusammen fügen

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
sfgheady
User
Beiträge: 8
Registriert: Sonntag 24. August 2014, 21:56

hey zusammen,
ich suche eine Möglichkeit um folgendes Problem zu lösen:

ListeA = [[1,2,3], [2,3,1], [3,2,1]]

möchte ich mit folgender Liste zusammen fügen:

ListeB =[4, 5, 6]

zu

ListeC = [[1,2,3,4], [2,3,1,5], [3,2,1,6]]

kann mir da einer weiter helfen? Die normale zip() Funktion macht es bei mir nicht wirklich
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

`zip` ist schon ein erster Anfang:

Code: Alles auswählen

In [1]: ListeA = [[1,2,3], [2,3,1], [3,2,1]]

In [2]: ListeB =[4, 5, 6] 

In [3]: [x + [y] for x, y in zip(ListeA, ListeB)]
Out[3]: [[1, 2, 3, 4], [2, 3, 1, 5], [3, 2, 1, 6]]
sfgheady
User
Beiträge: 8
Registriert: Sonntag 24. August 2014, 21:56

oh man, sehr gut danke !
da wäre ich nicht drauf gekommen...voll gut! muss mich wohl noch intensiver mit python befassen :)
sfgheady
User
Beiträge: 8
Registriert: Sonntag 24. August 2014, 21:56

gibt es Möglichkeiten, wie ich verschiedene Listen gleicher Länge, ohne sie zu einer großen Liste zu packen, in eine .csv Datei spaltenweise schreiben kann?
Leider hat sich herausgestellt, dass das zusammen packen auf die Datenmenge, auf der ich arbeite, echt viel Zeit in Anspruch nimmt.
BlackJack

@sfgheady: Nicht die grosse Liste erstellen sondern mit `itertools.izip()` (Python 2) oder `zip` (Python 3) und einem Generatorausdruck die einzelnen Listen für die jeweilige Zeile erzeugen.

Je nach Ausgangsdaten muss man die einzelnen Dateien auch nicht komplett in den Speicher lesen.
Antworten