Ich brauche Hilfe mit meiner Schleife. In meinem Skript habe ich zwei riesige Listen (~ 87.000 Integer) aus einer Eingabedatei.Wie kann ich die Überschneidungen zwischen Listen mit zwei Elementen optimieren und eine Liste von Listen ohne Duplikate in Python generieren?
prüfen dieses Beispiel mit ein paar Zahlen:
Wir haben zwei Listen:
nga = [1, 3, 5, 34, 12]
ngb = [3, 4, 6, 6, 5]
Die Reihenfolge dieser beiden Listen ist wichtig, weil jede Position mit der gleichen Zusammenhang steht Position in der anderen Liste, so ist 1
in nga
mit 3
in ,verwandtmit 4
, etc ...
Also, was ich will, ist dieser Ausgang:
listoflists = [[1, 3, 4], [5, 6, 12, 34]]
Was ich bisher haben diese Schleife ist:
listoflists = []
for p in range(0, len(nga)):
z = [nga[p], ngb[p]]
for a, b in zip(nga, ngb):
if a in z:
z.append(b)
else:
pass
if b in z:
z.append(a)
else:
pass
listoflists.append(z)
Das Problem erscheint, wenn ich habe die ganzen Listen benutzt, weil es abgestürzt ist und mir einen Segmentierungsfehlerfehler gegeben hat. Was kann ich also tun?
Vielen Dank im Voraus.
werden Sie Python 2 oder Python 3 verwenden? –
Wie läuft die Prozedur ab 'nga = [1, 3, 5, 34, 12]' und 'ngb = [3, 4, 6, 6, 5]' zu 'listoflists = [[1, 3, 4] , [5, 6, 12, 34]]? –
mit Ihrem Eingang bekomme ich '[[1, 3, 3, 1, 4, 3], [3, 4, 1, 4, 3], [5, 6, 6, 5, 34, 12], [34 , 6, 5, 6, 34, 12], [12, 5, 6, 5, 34, 5, 12]] –