Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gesorteerde Basisprincipes | Hogere-orde Functies en Lambdas
Functionele Programmeerconcepten in Python
Sectie 2. Hoofdstuk 4
single

single

bookGesorteerde Basisprincipes

Veeg om het menu te tonen

Gegevens sorteren is een veelvoorkomende bewerking bij het werken met lijsten in Python. De functie sorted is een ingebouwde hogere-orde functie waarmee je elke iterable kunt sorteren en een nieuwe gesorteerde lijst terugkrijgt, terwijl de oorspronkelijke data ongewijzigd blijft. Je kunt sorted gebruiken met of zonder aangepaste sorteervolgorde. Standaard rangschikt sorted de elementen in oplopende volgorde, maar je kunt de sorteervolgorde en criteria bepalen met de optionele parameters.

De belangrijkste parameters voor sorted zijn:

  • iterable: de gegevens die je wilt sorteren;
  • key: een optionele functie die bepaalt op welke waarde elk element wordt gesorteerd;
  • reverse: een Booleaanse waarde die, indien ingesteld op True, de gegevens in aflopende volgorde sorteert.

Stel dat je een lijst met getallen hebt en deze in oplopende volgorde wilt sorteren. Je kunt eenvoudig sorted(numbers) aanroepen. Als je de getallen in aflopende volgorde wilt sorteren, kun je reverse=True meegeven.

12345
numbers = [9, 5, 2, 1] # Sorting in reverse order sorted_desc = sorted(numbers, reverse=True) print(sorted_desc)
copy

Je kunt ook de parameter key gebruiken om complexere datastructuren te sorteren, zoals lijsten van tuples of dictionaries, door een functie op te geven die de vergelijkingswaarde uit elk element haalt.

12345
words = ["apple", "kiwi", "banana"] # Sorting by the length of each string sorted_words = sorted(words, key=len) print(sorted_words)
copy

Je kunt elke functie doorgeven aan de parameter key, waaronder een lambda-functie of een eerder gedefinieerde functie. Dit maakt van sorted een hogere-orde functie, omdat het een andere functie als argument accepteert. Sorteren is niet beperkt tot getallen of strings; je kunt complexe objecten sorteren zolang je een geschikte key-functie opgeeft.

Note
Opmerking

Het originele iterabele wordt niet gewijzigd door sorted, deze retourneert altijd een nieuwe lijst. Als je een lijst direct wilt sorteren, gebruik dan de methode list.sort().

Taak

Veeg om te beginnen met coderen

Sorteer een lijst van tuples op het tweede element in elke tuple met behulp van de functie sorted en een benoemde functie als de parameter key.

  • Je krijgt een lijst genaamd pairs die tuples van twee gehele getallen bevat.
  • Definieer een functie genaamd get_second_element die een tuple ontvangt en de tweede waarde retourneert.
  • Gebruik de functie sorted en geef get_second_element door als de parameter key om pairs te sorteren op het tweede element van elke tuple.
  • Sla het resultaat op in een variabele genaamd sorted_pairs.
  • Vergeet niet om pass te verwijderen.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 4
single

single

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

some-alt