Python len() Functie: Hoe de lengte van de string te vinden
⚡ Slimme samenvatting
Python len() is een ingebouwde functie die het aantal items in een object retourneert, zoals de tekens in een tekenreeks of de elementen in een lijst, tuple, woordenboek of set.
Wat is het Python len() functie?
De len () De functie is een ingebouwde functie in PythonJe kunt `len()` gebruiken om de lengte van een gegeven string, array, lijst, tuple, dictionary en andere objecten te verkrijgen. Omdat het aantal elementen in het object zelf wordt opgeslagen in plaats van telkens opnieuw te worden berekend, helpt `len()` je om snel de grootte te controleren en de prestaties van je programma te optimaliseren.
Syntaxis van de Python len() Functie
De Python De functie len() gebruikt de volgende syntaxis:
len(value)
Kenmerken
waarde: Het gegeven object — zoals een tekenreeks, lijst, tuple, woordenboek of set — waarvan je de lengte wilt meten.
Winstwaarde
De functie len() retourneert een geheel getal, oftewel het aantal tekens in een tekenreeks of het aantal elementen in een array, lijst of verzameling. De exacte betekenis van de retourwaarde hangt af van het type object dat eraan wordt doorgegeven:
- Snaren: len() retourneert het aantal tekens in de tekenreeks, inclusief leestekens, spaties en alle soorten speciale tekens.
- Leeg: Een lege tekenreeks of lege verzameling retourneert 0, omdat deze nul elementen bevat.
- collectie: De ingebouwde functie len() geeft het aantal elementen weer dat in een verzameling is opgeslagen.
- Typefout: De functie len() is afhankelijk van het type van het object dat eraan wordt doorgegeven. Het doorgeven van een waarde zonder lengte, zoals een integer, resulteert in een TypeError.
- Woordenboek: Bij een dictionary telt elk sleutel-waardepaar als één eenheid, dus len() geeft het aantal sleutels terug.
Voorbeelden van de Python len() Functie
De volgende voorbeelden laten zien hoe je de functie len() kunt gebruiken om de lengte van verschillende elementen te vinden. Python objecten, waaronder een tekenreeks, een lijst, een tuple, een woordenboek en een array.
Voorbeeld 1: Hoe bepaal je de lengte van een tekenreeks?
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Output:
The length of the string is : 35
Voorbeeld 2: Hoe de lengte van een lijst te bepalen
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Output:
The length of the list is 4
Voorbeeld 3: Hoe de lengte van een tuple te bepalen
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Output:
The length of the tuple is 3
Voorbeeld 4: Hoe de lengte van een woordenboek te bepalen
# to find the length of the Dictionary
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("The length of the Dictionary is", len(Dict))
Output:
The length of the Dictionary is 4
Voorbeeld 5: Hoe de lengte van een array te bepalen
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Output:
The length of the Array is 4
Hoe vind je de lengte van een tekenreeks zonder de functie len() te gebruiken? Python
De functie `len()` is de snelste en meest leesbare manier om de lengte van een tekenreeks te meten, maar je kunt ook handmatig tekens tellen. Dit is een veelvoorkomende oefening tijdens programmeerinterviews, waarbij elke methode simpelweg door de tekenreeks loopt en een teller verhoogt.
De meest gebruikelijke aanpak maakt gebruik van een for-lus:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Output:
The length is 6
Een kortere optie maakt gebruik van de sum()-functie met een generatoruitdrukking, waarbij voor elk teken in de tekenreeks 1 wordt opgeteld:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Output:
The length is 6
Andere manieren om tekens te tellen zonder len() zijn onder andere de volgende:
- Een while-lus die de tekenreeks in stukjes verdeelt totdat deze leeg is, waarbij een teller bij elke doorgang wordt verhoogd.
- De functie enumerate(), die tracks is de index van elk teken tijdens de iteratie.
- Een recursieve functie die 1 plus de lengte van de resterende substring retourneert.
Deze handmatige methoden zijn trager dan de ingebouwde `len()`-functie, dus gebruik ze alleen om te leren of om te oefenen voor sollicitatiegesprekken. In alledaagse code blijft `len()` de snelste en meest overzichtelijke optie.
Hoe doet de Python Werkt de functie len() intern?
Als je begrijpt hoe len() werkt, wordt duidelijk waarom het zo snel is. Wanneer je len() aanroept op een object, Python Het scant niet elk element één voor één. In plaats daarvan roept het de speciale __len__() methode van het object aan, wat betekent dat de expressie len(x) equivalent is aan x.__len__().
Ingebouwde containers zoals strings, lijsten, tuples, dictionaries en sets slaan hun eigen grootte op als een attribuut. Telkens wanneer je een element toevoegt of verwijdert, Python Deze functie werkt de opgeslagen telling bij. Wanneer len() wordt aangeroepen, leest deze eenvoudigweg de vooraf opgeslagen waarde en retourneert deze.
Omdat de lengte al bekend is, werkt len() in constante tijd, oftewel O(1). Het duurt even lang, of het object nu vijf items of vijf miljoen items bevat. Je kunt ook ondersteuning voor len() toevoegen aan je eigen klassen door een __len__() methode te definiëren die een integer retourneert:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Output:
11
Dit ontwerp verklaart waarom len() zich consistent gedraagt voor elk ingebouwd type, evenals voor elk aangepast object dat een __len__()-methode implementeert.
" Leer meer over Python String-methoden

