Code:Verwirrt über die Ausführung von zwei Codes in Python? 1
%%timeit
students = [['Zack',38],['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
second_highest = sorted(list(set([x[1] for x in students])))[1]
([a for a,b in sorted(students) if b == second_highest])
Code 2:
%%timeit
students = [['Zack',38],['Harry', 37.21], ['Berry', 37.21], ['Tina', 37.2], ['Akriti', 41], ['Harsh', 39]]
s = sorted(set([x[1] for x in students]))
for name in sorted(x[0] for x in students if x[1] == s[1]):
name
Jetzt ich bin verwirrt über die Ausführung von zwei Programmen, wie code2 ist schneller als code1, trotz Verwendung von verschachtelten für Schleife in Code2. Bild unten ist von Jupyter Notizbuch, das mittlere Zeit zeigt, die durch Code von 100000 Schleifen genommen wird. Obwohl der Unterschied sehr klein ist, bin ich verwirrt, denn wie kann verschachtelte For-Schleife schneller arbeiten als Single For-Schleife.
Ich sollte die Ausgabe drucken, kann den Druck so setze vor der letzten Zeile des Codes
Was soll die letzte Zeile in jeder Schleife tun? Es macht wirklich nichts. Der Unterschied liegt in dem zusätzlichen Aufruf der Funktion "Liste" in der zweiten Zeile. –
Ich sollte die Ausgabe drucken, so kann Print vor der letzten Zeile des Codes setzen – Priyansh