Kursinhalt
Einführung in Python
Einführung in Python
Eingebaute Funktionen in Python
Was wäre, wenn Sie gebeten würden, die größte Zahl in einer Liste zu finden? Mit dem Wissen, das Sie erworben haben, könnten Sie eine Schleife schreiben, um zu überprüfen, ob das aktuelle Element größer/kleiner als das bisher größte ist und es aktualisieren; wenn nicht, würden Sie fortfahren. Aber bei langen Listen kann diese Methode ziemlich zeitaufwendig sein. Zum Glück gibt es eingebaute Funktionen, die diese Aufgabe effizienter machen können. Hier sind einige:
min(x, y, ...)
- Gibt den kleinsten Wert unterx, y, ...
zurück;max(x, y, ...)
- Gibt den größten Wert unterx, y, ...
zurück;abs(x)
- Gibt den absoluten Wert vonx
zurück;round(x, n)
- Rundet die Zahlx
aufn
Dezimalstellen;pow(x, n)
- Erhöhtx
auf die Potenz vonn
.
Angenommen, wir möchten die Bevölkerungsdichte für eine Reihe von Ländern in der countries
-Liste berechnen. Dazu würden wir die Bevölkerung durch die Fläche teilen. So wird es gemacht:
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = countries[i][2]/countries[i][1] print(countries[i][0], pop_dens, 'people per km²')
Im obigen Beispiel hatte unsere Liste 5 verschachtelte Unterlisten. Wir sind durch die Hauptliste geschleift und haben überprüft, ob jedes Element eine Liste war. Wenn ja, haben wir das dritte Element (Bevölkerung) durch das zweite Element (Fläche) geteilt.
Die Ergebnisse waren jedoch nicht sehr leserfreundlich, da sie mehr als 10 Dezimalstellen hatten. Um sie lesbarer zu machen, können wir die Funktion round()
verwenden, um sie auf nur 2 Dezimalstellen zu reduzieren. Denken Sie daran, dass diese Funktion zwei Argumente benötigt: Das erste ist die Zahl, die Sie runden möchten, und das zweite gibt an, wie viele Dezimalstellen Sie behalten möchten.
# Initial data countries = [["USA", 9629091, 331002651], ["Canada", 9984670, 37742154], ["Germany", 357114, 83783942], ["Brazil", 8515767, 212559417], ["India", 3166391, 1380004385]] # Iterating over external list for i in range(len(countries)): if type(countries[i]) is list: # Computing population density for a country pop_dens = round(countries[i][2]/countries[i][1], 2) print(countries[i][0], pop_dens, 'people per km²')
Wie Sie sehen können, ist das überarbeitete Ergebnis viel klarer und leichter zu verstehen.
Danke für Ihr Feedback!