Pythonische Prüfung auf negative Elemente in einer Liste
Python bietet eine vielseitige Funktion namens „any()“, die sich zum Überprüfen von Bedingungen in einer Liste als nützlich erweist Folge von Elementen. In diesem Fall möchten wir feststellen, ob ein Element in einer Liste negativ ist.
Verwendung von „any()“:
if any(t < 0 for t in x): # do something
Die Funktion „any()“. nimmt einen Generatorausdruck als Argument, in diesem Fall (t < 0 für t in x). Für jedes Element t in Liste x liefert dieser Generatorausdruck „True“, wenn t negativ ist, andernfalls liefert er „False“. Die Funktion any() wertet diesen Generatorausdruck aus und gibt True zurück, wenn mindestens ein Element True ergibt.
Verwendung von „True in ...“:
Obwohl technisch korrekt , wird der Ansatz, True in ... zu verwenden, nicht als Pythonic betrachtet, da er ineffizient sein kann. Anstatt vorzeitig zurückzukehren, durchläuft der Generatorausdruck die gesamte Sequenz und verschwendet möglicherweise Ressourcen.
Wenn Sie True in ... verwenden müssen, schließen Sie den Generatorausdruck zur Speichereffizienz in ein Generatorverständnis ein:
if True in (t < 0 for t in x):
Mit diesem Ansatz schreitet das Generatorverständnis nur bei Bedarf voran und verbraucht keinen unnötigen Speicher.
Denken Sie daran, dass Sie bei der Prüfung auf positive Bedingungen De nutzen können Morgans Gesetz zur Verwendung von not any() oder all(), das True zurückgibt, wenn alle Elemente die Bedingung erfüllen.
Das obige ist der detaillierte Inhalt vonWie kann ich pythonisch prüfen, ob eine Liste negative Elemente enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!