Mehrere Listen zusammenführen

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
Gregoah
User
Beiträge: 9
Registriert: Sonntag 5. Januar 2020, 15:36

Hallo,


Ich versuche zwei Listen zu einer großen Liste verschmelzen zu lassen, in der die jeweils i-ten Stellen einen Eintrag und dazu eine Unterliste darstellen.

L1=[0, 1, 2, 3]
L2=[0, 1, 2, 3]
Ich möchte: L3=[[0, 0], [1, 1], [2, 2], [3, 3]]

Angenommen L1 und L2 sind geg.
Mein Ansatz sieht in etwa so aus:

for i in range(0, len(L1)):
L3.append([L1, L2])

Leider wird in der Fehlermeldung ausgegeben, dass .append nur einen Eintrag nimmt.


Wie geht es richtig?

Besten Dank!!!
Zuletzt geändert von Gregoah am Sonntag 5. Januar 2020, 16:01, insgesamt 1-mal geändert.
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ganz einfach mit zip:

Code: Alles auswählen

l3 = list(zip(l1, l2))
Und noch ein paar Anmerkungen:

- in Python benennt man Dinge nach PEP8. GROSSGESCHRIEBEN benennt Konstanten. Was hier offensichtlich nicht der Fall ist.
- for i in range(len(...)) ist ein absolutes Anti-Pattern. Macht man so gut wie nie.Stattdessen benutzt man

Code: Alles auswählen

for item in iterierbares_ding:
Wenn man doch mal einen Index braucht, dann benutzt man enumerate

Code: Alles auswählen

for i, item in enumerate(ding):
Gregoah
User
Beiträge: 9
Registriert: Sonntag 5. Januar 2020, 15:36

Danke!!!
Antworten