Citat:
Ursprungligen postat av Unbildoed
Jag har en instans av en klass som är en lista(vektor eller vad det nu kallas för), nu är det så att jag vill komma åt alla värden samtidigt för att kunna presentera dessa i en ordnad lista eller liknande. T:ex
bilar[] är en instans av klassen bil
- jag vill ha fram "self.pris" för alla poster samtidigt så jag kan sortera och presentera fallande från högsta pris.
Hur gör man detta på ett smidigt sätt?
Du kan använda parametern 'key' till funktionen sort, tex om du har en lista 'bilar' av instanser av klassen 'Bil', som alla har ett attribut 'pris' (tex som i Rotmosrullens exempel), så kan du göra
Kod:
bilar.sort(key=lambda bil: bil.pris, reverse=True)
för att sortera listan bilar efter pris, i fallande ordning.
Om du bara vi ta ut en lista med alla priser för bilarna i 'bilar', kan du göra
Kod:
priser = [bil.pris for bil in bilar]
.