Ich habe eine Liste und möchte eine bestimmte Funktion nur für diejenigen Einträge verwenden, die eine bestimmte Bedingung erfüllen - die anderen Einträge bleiben unverändert.
Beispiel: Sagen wir, ich möchte nur die Elemente multiplizieren, die gerade sind.
%Vor%Gewünschtes Ergebnis:
%Vor% Aber [elem * 2 for elem in a_list if elem %2 == 0]
liefert [4, 8]
(es wirkte zusätzlich als Filter).
Was ist der richtige Weg?
Verwenden Sie einen bedingten Ausdruck :
%Vor%(Math Geeks Anmerkung: Sie können diesen speziellen Fall auch mit
lösen %Vor%aber ich würde sowieso die erste Option bevorzugen;)
Sie könnten Lambda:
verwenden %Vor%Bearbeiten - Nachdenken über agf 's Bemerkung Ich habe eine zweite Version meines Codes erstellt :
%Vor%Tags und Links python list-comprehension