Wie funktioniert der Code [i for i in range(51) if i % 2 == 0]?
📁 Liste, Python, KI
evens_to_50 = [i for i in range(51) if i % 2 == 0]print evens_to_50Dieser Code generiert eine Liste mit geraden Zahlen bis fünfzig. Aber mir als Programmieranfänger sind einige Punkte unklar:
- Warum erfolgt die Generierung in eckigen Klammern, die normalerweise für die Arbeit mit Indizes verwendet werden?
- Was macht das erste i vor der for-Schleife? Warum gibt es nach range(51) keinen Doppelpunkt und keinen Zeilenumbruch mit Einrückung?
- Wo können eckige Klammern noch verwendet werden?
- In eckigen K
Man kann range(n) verwenden, um etwas n-mal in Python zu wiederholen:
for _ in range(60): do_something() time.sleep(1)Ist das der „richtige“ und „effiziente“ Weg? Das hängt von der konkreten Aufgabe ab.
Der Code ist einfach und verständlich: die Funktion do_something() wird 60 Mal aufgerufen, wobei jeder folgende Aufruf frühestens eine Sekunde nach Abschluss des vorherigen Aufrufs erfolgt. Am Ende warten wir eine Sekunde, bevor wir die Schleife beenden.
Stellen Sie sich vor, do_something() benötigt im Durchschnitt eine halbe Sekunde, dann dauert die Schleife eineinhalb Minuten oder länger. Ist das gut – hängt davon ab
Anmelden um eine Antwort zu hinterlassen