Die einfachste Möglichkeit, zwei Listen in Python zu mischen

8

Lass uns 2 Listen haben

%Vor%

Ergebnis:

%Vor%

zip() kann nicht verwendet werden, weil das Ergebnis auf die kleinste list gekürzt wird. Ich brauche auch ein list am Ausgang nicht iterable .

    
kollo 29.09.2012, 01:45
quelle

7 Antworten

10
%Vor%

Damit None -Werte in die Listen aufgenommen werden können, können Sie die folgende Änderung verwenden:

%Vor%     
inspectorG4dget 29.09.2012, 01:46
quelle
7

Eine andere Möglichkeit ...

%Vor%

(nach dem Import von izip_longest von itertools, natürlich)

    
Ray Toal 29.09.2012 01:50
quelle
2

Der einfachste Weg, dies zu tun, ist das Round-Robin-Rezept in itertools . Dokumente :

%Vor%

Was kann man so benutzen:

%Vor%

Beachten Sie, dass 2.x eine etwas andere Version von roundrobin erfordert, die in den 2.x-Dokumenten .

Dies vermeidet auch das Problem, dass die zip_longest() -Methode darin besteht, dass die Listen None enthalten können, ohne dass sie entfernt werden.

    
Gareth Latty 29.09.2012 02:21
quelle
1
%Vor%

Dies ist kein kurzer Weg, aber es entfernt unnötige Abhängigkeiten.

Aktualisierung: Hier ist ein anderer Weg, der von @jsvk vorgeschlagen wurde %Vor%     

Ionut Hulub 29.09.2012 01:57
quelle
0

Wenn Sie die Ausgabe in einer einzelnen Liste anstelle einer Liste von Tupeln benötigen, versuchen Sie dies.

%Vor%     
Perkins 29.09.2012 01:56
quelle
0

Ich behaupte nicht, dass dies der beste Weg ist, um es zu tun, aber ich wollte nur darauf hinweisen, dass es möglich ist, zip zu verwenden:

%Vor%     
asmeurer 29.09.2012 02:12
quelle
0
%Vor%     
Matt Anderson 29.09.2012 02:59
quelle

Tags und Links