Seite 1 von 1

Listen zusammenführen

Verfasst: Donnerstag 23. Februar 2006, 04:44
von lucius
Hallo,

ich bin rel. neu in Python und habe schon mein erstes Problem.
Ich möchte gerne mehrere gleichlange Listen zusammenfassen in einer großen. Dabei soll "Zeile 1" von "Liste 1" mit den jeweils ersten Zeilen der anderen Listen die "Zeile 1" der neuen "großen Liste bilden. Wie mache ich dass ....
Mein bisheriger Ansatz sah so aus:

Code: Alles auswählen

for i in Liste1:
        bigliste.insert(len(bigliste2),[Liste1[b],Liste2[b],Liste3[b],Liste4[b]])
        b=b+1
Das Problem ist aber, dass Python jeweils Listen 2-4 komplett pro Zeile in bigliste einfügt.
Liste 1 hat mehrere "Spalten", Listen 2 - 4 sind "einspaltig".

Vielen Dank im Voraus

Lucius

Verfasst: Donnerstag 23. Februar 2006, 08:51
von helmut
Hallo Lucius,

hier kommt ein (nicht optimierter) Loesungvorschlag:

Code: Alles auswählen

liste_1=[[2,4],[1,3]]
liste_2=['a','b']
liste_3=['x','y']
liste_4=['A','B']
biglist=[]

for i in range(0,len(liste_1)):
   biglist.append([liste_1[i][0],liste_2[i],liste_3[i],liste_4[i]])

print biglist        # =>  [[2, 'a', 'x', 'A'], [1, 'b', 'y', 'B']]
:roll: Ein etwas laengerer Blick in die Python-Dokumentation bezüglich Schleifenbildung und Listen koennte nicht schaden. :wink:

Gruss, Helmut

Verfasst: Donnerstag 23. Februar 2006, 15:51
von Joghurt
Hat Python schon eingebaut:

Code: Alles auswählen

>>> a=[[1,2],[3,4]]
>>> b=[5,6]
>>> c=[7,8]
>>> zip(a,b,c)
[([1, 2], 5, 7), ([3, 4], 6, 8)]

Verfasst: Donnerstag 23. Februar 2006, 20:13
von Python 47
es geht auch so:

Code: Alles auswählen

a=[1,2,3]
b=[4,5,6]
c=a+b
print c

Verfasst: Donnerstag 23. Februar 2006, 20:36
von mawe

Code: Alles auswählen

In [1]: a = [1,2,3]
In [2]: b = [4,5,6]
In [3]: a+b
Out[3]: [1, 2, 3, 4, 5, 6]
@Python Master 47: Ich hab das Gefühl, dass das nicht das gewünschte Ergebnis ist ;)

Verfasst: Donnerstag 23. Februar 2006, 20:40
von Python 47
Joa, mein Ergebniss bringt nicht das, was er will!Hab es mir nicht richtig durchgelesen! :oops:

Verfasst: Donnerstag 23. Februar 2006, 21:29
von lucius
Hallo,

ich möchte mich gerne bei euch allen für eure schnelle Hilfe bedanken.
Es hat mir für mein Programm sehr geholfen.
Recht herzlichen Dank. Ihr seid die Wucht.

Lucius

PS: Als kleines Dankeschön. Wer einen Gmail-Account will kann sich gerne an mich wenden.
PPS: Wie kann ich bei diesem Forum mithelfen, dabei bleiben tue ich auf jeden Fall.
PPPS: Danke nochmals.

Verfasst: Freitag 24. Februar 2006, 10:51
von gerold
lucius hat geschrieben:Wie kann ich bei diesem Forum mithelfen, dabei bleiben tue ich auf jeden Fall.
Hi lucius, willkommen hier im Python-Forum!

Helfen - das ist ganz einfach. Wenn du eine Frage von jemandem liest, diese beantworten oder zumindest einen Hinweis geben kannst und die Zeit dazu hast --> tu es. :wink:

mfg
Gerold
:-)