Lijsten worden in Python bijna overal gebruikt. In deze tutorial bekijken we vier manieren om de lengte van een Python‑lijst te bepalen: met ingebouwde functies, recursie en een lus. De lengte van een lijst kennen is vaak nodig om erover te itereren en verschillende bewerkingen uit te voeren.
len() is een ingebouwde Python‑functie om de lengte van een lijst te bepalen. De functie accepteert één argument — de lijst zelf — en retourneert een geheel getal dat gelijk is aan de lengte van de lijst. Dezelfde functie werkt ook met andere iterabele objecten, zoals strings.
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"]
count = len(Country_list)
print("There are", count, "countries")
Output:
There are 4 countries
Je kunt de lengte van een lijst in Python bepalen met een for-lus. Het idee is om de hele lijst te doorlopen en bij elke iteratie een teller met 1 te verhogen. Laten we dit in een aparte functie onderbrengen:
def list_length(list):
counter = 0
for i in list:
counter = counter + 1
return counter
Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"]
count = list_length(Country_list)
print("There are", count, "countries")
Output:
There are 5 countries
Dezelfde taak kan worden opgelost met recursie:
def list_length_recursive(list):
if not list:
return 0
return 1 + list_length_recursive(list[1:])
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"]
count = list_length_recursive(Country_list)
print("There are", count, "countries")
Output:
There are 6 countries
Hoe het werkt. De functie list_length_recursive() ontvangt een lijst als invoer.
Als de lijst leeg is, retourneert ze 0 — de lengte van een lege lijst.
Anders roept ze zichzelf recursief aan met het argument list[1:], een slice van de originele lijst die begint bij index 1 (dus de lijst zonder het element op index 0). Het resultaat van die aanroep wordt opgeteld bij 1. Bij elke recursieve stap groeit de geretourneerde waarde met één terwijl de lijst met één element krimpt.
De functie length_hint() bevindt zich in de module operator. Die module bevat functies die overeenkomen met interne Python-operatoren: optellen, aftrekken, vergelijken enzovoort. length_hint() retourneert de lengte van iterabele objecten zoals strings, tuples, dictionaries en lijsten. Ze werkt vergelijkbaar met len():
from operator import length_hint
Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"]
count = length_hint(Country_list)
print("There are", count, "countries")
Output:
There are 7 countries
Let op dat length_hint() moet worden geïmporteerd voordat je deze gebruikt.
In deze gids hebben we vier manieren besproken om de lengte van een lijst in Python te bepalen. Onder gelijke omstandigheden is de meest efficiënte methode len(). De andere benaderingen zijn vooral zinvol wanneer je aangepaste klassen implementeert die lijken op een lijst.