In Python 2.7 habe ich zwei Listen mit ganzen Zahlen:
%Vor% Ich möchte eine dritte Liste erstellen, die angibt, ob jedes Element in x
und y
identisch ist, um Folgendes zu erhalten:
Wie kann ich dies mithilfe des Listenverständnisses tun?
Mein Versuch ist:
%Vor%Aber ich weiß nicht, wie ich es vervollständigen soll.
Sie suchen zip
Aber Sie fügen besser int
hinzu, um die gewünschte Ausgabe zu erhalten
Sonst bekommst du eine Liste wie [True, False, True, False, False]
Wie ajcr erwähnt in einem Kommentar , es ist besser, itertools.izip statt Reißverschluss zu verwenden, wenn die Listen sehr lang sind. Dies liegt daran, dass es einen Iterator anstelle einer Liste zurückgibt. Dies wird in der Dokumentation
erwähntWie zip () außer , dass es einen Iterator anstelle einer Liste zurückgibt.
Demo
%Vor%Sie können es ein wenig ändern und tun:
%Vor% Wenn Sie Python3 verwenden, ändern Sie xrange
in range
Obwohl ein Listenverständnis in der Frage spezifiziert wurde und die obigen Antworten wahrscheinlich besser sind, dachte ich, ich würde mit einer rekursiven Lösung klingeln:
%Vor%Tags und Links python list list-comprehension python-2.7