Python len() Funktion: Hur man hittar längden på strängen
⚡ Smart sammanfattning
Python len() är en inbyggd funktion som returnerar antalet element i ett objekt, till exempel tecknen i en sträng eller elementen i en lista, tupel, ordbok eller uppsättning.
Vad är det Python len() Funktion?
Ocuco-landskapet len () funktionen är en inbyggd funktion i PythonDu kan använda len() för att hämta längden på en given sträng, array, lista, tupel, ordbok och andra objekt. Eftersom antalet element lagras på objektet snarare än att beräknas om varje gång, hjälper len() dig att snabbt kontrollera storleken och optimera programmets prestanda.
Syntax för Python len() Funktion
Ocuco-landskapet Python Funktionen len() använder följande syntax:
len(value)
Driftparametrar
värde: Det givna objektet – såsom en sträng, lista, tupel, ordbok eller mängd – vars längd du vill mäta.
Returvärde
len() returnerar ett heltal, det vill säga antalet tecken i en sträng eller antalet element i en array, lista eller samling. Den exakta betydelsen av returvärdet beror på vilken typ av objekt som skickas till det:
- strängar: len() returnerar antalet tecken i strängen, inklusive interpunktion, mellanslag och alla typer av specialtecken.
- Tömma: En tom sträng eller tom samling returnerar 0, eftersom den innehåller noll element.
- samlingar: Den inbyggda len()-funktionen returnerar antalet element som lagras i en samling.
- Skrivfel: len() beror på vilken typ av objekt som skickas till det. Att skicka ett värde som saknar längd, till exempel ett heltal, genererar ett TypeError.
- Lexikon: För en ordbok räknas varje nyckel-värdepar som en enhet, så len() returnerar antalet nycklar.
Exempel på Python len() Funktion
Följande exempel visar hur man använder funktionen len() för att hitta längden på olika Python objekt, inklusive en sträng, en lista, en tupel, en ordbok och en array.
Exempel 1: Hur man hittar längden på en sträng
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Produktion:
The length of the string is : 35
Exempel 2: Hur man hittar längden på en lista
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Produktion:
The length of the list is 4
Exempel 3: Hur man hittar längden på en tupel
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Produktion:
The length of the tuple is 3
Exempel 4: Hur man hittar längden på en ordbok
# 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))
Produktion:
The length of the Dictionary is 4
Exempel 5: Hur man hittar längden på en array
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Produktion:
The length of the Array is 4
Hur man hittar längden på en sträng utan len() i Python
Funktionen len() är det snabbaste och mest läsbara sättet att mäta en sträng, men du kan också räkna tecken manuellt. Detta är en vanlig övning i kodningsintervjuer, och varje metod loopar helt enkelt igenom strängen samtidigt som den ökar en räknare.
Det vanligaste tillvägagångssättet använder en for-loop:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Produktion:
The length is 6
Ett kortare alternativ använder sum()-funktionen med ett generatoruttryck, och lägger till 1 för varje tecken i strängen:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Produktion:
The length is 6
Andra sätt att räkna tecken utan len() inkluderar följande:
- En while-loop som segmenterar strängen tills den blir tom, och ökar en räknare för varje pass.
- Funktionen enumerate(), som tracks indexet för varje tecken när det itererar.
- En rekursiv funktion som returnerar 1 plus längden på den återstående delsträngen.
Dessa manuella metoder är långsammare än den inbyggda len(), så reservera dem för inlärning eller intervjuövning. I vanlig kod är len() fortfarande det snabbaste och tydligaste alternativet.
Hur gör det Python Fungerar len()-funktionen internt?
Att förstå hur len() fungerar förklarar varför det är så snabbt. När du anropar len() på ett objekt, Python skannar inte varje element ett i taget. Istället anropar den objektet den speciella __len__()-metoden, vilket innebär att uttrycket len(x) är ekvivalent med x.__len__().
Inbyggda behållare som strängar, listor, tupler, ordböcker och uppsättningar lagrar sin egen storlek som ett attribut. Varje gång du lägger till eller tar bort ett element, Python uppdaterar detta lagrade antal. När len() anropas läser den helt enkelt det förlagrade värdet och returnerar det.
Eftersom längden redan är känd körs len() i konstant tid, skrivet som O(1). Det tar samma tid oavsett om objektet innehåller fem objekt eller fem miljoner. Du kan också lägga till len()-stöd till dina egna klasser genom att definiera en __len__()-metod som returnerar ett heltal:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Produktion:
11
Den här designen är anledningen till att len() beter sig konsekvent över alla inbyggda typer, såväl som alla anpassade objekt som implementerar en __len__()-metod.
" Lära sig mer om Python Strängmetoder

