Kursusindhold
Introduktion til Python
Introduktion til Python
Indbyggede Funktioner i Python
Hvad hvis du har brug for at finde det største tal i en liste? Med det, du har lært, kunne du skrive en løkke, der sammenligner hvert element med den nuværende største værdi og opdaterer den, når et større tal findes. Heldigvis tilbyder Python indbyggede funktioner, der gør denne opgave lettere og mere effektiv. Her er nogle få:
min(x, y, ...)
: returnerer den mindste værdi blandtx, y, ...
;max(x, y, ...)
: returnerer den største værdi blandtx, y, ...
;abs(x)
: giver den absolutte værdi afx
;round(x, n)
: afrunder talletx
tiln
decimaler;pow(x, n)
: hæverx
til potensen afn
.
For eksempel, hvis vi har brug for at beregne befolkningstætheden for et sæt lande i countries
-listen, deler vi simpelthen befolkningen med landarealet.
# 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²')
Listen indeholdt fem indlejrede underlister. En løkke itererede gennem hovedlisten og kontrollerede, om hvert element var en liste. Hvis ja, blev befolkningstætheden beregnet ved at dividere det tredje element (befolkning) med det andet element (areal).
Men resultaterne var svære at læse på grund af mere end 10 decimaler. For at forbedre læsbarheden kan du bruge funktionen round()
til at begrænse output til 2 decimaler. Denne funktion tager to argumenter: det første er tallet, der skal afrundes, og det andet angiver antallet af decimaler, der skal beholdes.
# 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²')
Tak for dine kommentarer!