Seite 1 von 1

listen zusammen fügen

Verfasst: Mittwoch 8. Oktober 2014, 14:26
von sfgheady
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

Re: listen zusammen fügen

Verfasst: Mittwoch 8. Oktober 2014, 14:36
von cofi
`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]]

Re: listen zusammen fügen

Verfasst: Mittwoch 8. Oktober 2014, 14:47
von sfgheady
oh man, sehr gut danke !
da wäre ich nicht drauf gekommen...voll gut! muss mich wohl noch intensiver mit python befassen :)

Re: listen zusammen fügen

Verfasst: Mittwoch 8. Oktober 2014, 15:55
von sfgheady
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.

Re: listen zusammen fügen

Verfasst: Mittwoch 8. Oktober 2014, 16:04
von 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.