Erstellen einer For-Schleife ohne eine Iteratorvariable
In Python iterieren For-Schleifen normalerweise über eine Folge von Elementen mithilfe einer Iteratorvariablen, z wie im Beispiel unten:
for i in range(some_number): # do something
Es kann jedoch Szenarien geben, in denen Sie eine Aktion einfach mehrmals ausführen müssen, ohne dass eine Iteratorvariable erforderlich ist.
Mögliche Lösungen
Obwohl es nicht möglich ist, die Iteratorvariable vollständig zu eliminieren, gibt es Alternativen, die ein ähnliches Ergebnis erzielen können Ergebnis:
1. Lambda-Funktion mit xrange():
Sie können eine Lambda-Funktion zusammen mit der Funktion xrange() verwenden und eine anonyme Funktion als Argument an loop() übergeben :
def loop(f, n): for i in xrange(n): f() loop(lambda:, 5)
2. Mit der _ Variable:
Python ermöglicht Ihnen die Verwendung der speziellen Variablen _, um den von der Schleife zugewiesenen Wert zu verwerfen. Beachten Sie, dass _ lediglich eine weitere Variable und kein Platzhalter für einen Iterator ist:
for _ in range(n): do_something()
Während _ häufig als Bezeichner für Platzhalter verwendet wird, wird die Verwendung in diesem Kontext nicht empfohlen, da es möglicherweise den letzten Rückgabewert einer interaktiven Python-Sitzung zuweisen kann _.
3. Explizites Ignorieren des Iterators:
Sie können die Iteratorvariable explizit ignorieren, indem Sie die folgende Syntax verwenden:
for i in range(n): pass # No action taken
Diese Lösung ist jedoch nicht effizient, da sie einen zusätzlichen Platz im Bereich belegt.
Schlussfolgerung
Obwohl es so ist Da es in Python nicht direkt möglich ist, eine for-Schleife ohne eine Iteratorvariable zu erstellen, bieten die oben genannten Alternativen Methoden, um bei Bedarf einen ähnlichen Effekt zu erzielen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3