2016-04-19 8 views
0

für einige Hilfe Suche eine Schleife in Python Vektorisierung:Vectorize Schleife mit verschachtelten Listen in Python

for a in range(len(listOne)): 
     listTwo.append(listThree[listFour[a]]) 

Ich will Gewinne potenzielle Performance testen, nicht über eine Schleife anhängen, die nennen. Wenn nicht Vektorisierung, könnte vielleicht ein Lambda-Ausdruck genügen? Irgendwelche Gedanken oder Hilfe wären immens hilfreich! Danke für die Zeit!

+0

Enthält diese zu einem nicht leeren 'listTwo' hinzufügen oder war' listTwo 'zuvor als leer initialisiert? – TigerhawkT3

+0

listTwo wird vor der Schleife als leer initialisiert. –

+0

Ich denke, die Leute brauchen wahrscheinlich mehr Kontext, wie der Inhalt dieser Listen tatsächlich ist. Ich bin mir auch nicht sicher, was Sie in diesem Zusammenhang mit Vektorisierung meinen, wenn Sie 'numpy' verwenden, dann sind vektorisierte Operationen im Allgemeinen schneller, aber im Standard Python gibt es nicht unbedingt einen großen Unterschied zwischen for-Schleifen und Listen-Comprehensions. – Marius

Antwort

0

Es gibt wirklich nichts falsch mit der Schleife, aber man konnte es zu einem Verständnis ändern, wenn Sie die append() vermeiden wollen:

listTwo = [listThree[listFour[a]] for a in range(len(listOne))] 
+0

Danke für die Hilfe - das funktioniert perfekt –