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.

  • 🔢 Syntax: len(object) tar ett enda argument och returnerar ett heltal, det totala antalet element det innehåller.
  • 🔠 strängar: För en sträng räknar len() varje tecken, inklusive mellanslag, siffror och skiljetecken.
  • 📦 samlingar: len() mäter storleken på listor, tupler, ordböcker, mängder och intervallobjekt på samma sätt.
  • ⚙️ Prestanda: len() körs i konstant O(1) tid eftersom Python lagrar varje objektlängd som ett attribut.
  • ???? Skrivfel: Att anropa len() på ett heltal eller None genererar ett TypeError, eftersom dessa typer inte har någon längd.
  • 🤖 AI-hjälp: AI-kodningsassistenter genererar len()-kontroller, och maskininlärningspipelines använder len() för att fylla ut och batcha sekvenser.

Python len() Funktion

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

Vanliga frågor

Ja. len() räknar varje tecken i en sträng, inklusive mellanslag, tabbtecken, siffror och skiljetecken. Till exempel, len("Guru 99!”) returnerar 8, eftersom både mellanslaget och utropstecknet räknas som ett tecken.

len() returnerar 0 för en tom sträng, eftersom den inte innehåller några tecken. Funktionen len() är inte nollindexerad; den räknar element från ett, så len("a") returnerar 1 och len("") returnerar 0.

Heltal lagrar inte flera objekt, så de har ingen längd. Anrop av len(123) ger upphov till "TypeError: object of type 'int' has no len()". Konvertera först talet med len(str(123)) när du vill räkna dess siffror.

Ja. För en ordbok returnerar len() antalet nyckel-värde-par, och räknar varje par en gång. För en mängd returnerar len() antalet unika element, eftersom en mängd automatiskt ignorerar dubbletter.

len() returnerar antalet Unicode-kodpunkter i en sträng, så de flesta accentuerade bokstäver och symboler räknas som ett. Vissa emojis och kombinerade tecken använder dock flera kodpunkter, så len() kan rapportera mer än ett för dem.

Skicka len som nyckel till max()-funktionen: max(words, key=len) returnerar den längsta strängen i listan. Likaså returnerar min(words, key=len) den kortaste. Detta undviker att skriva en manuell loop för att jämföra varje längd.

Maskininlärningspipelines använder len() konstant – för att kontrollera datamängder, bekräfta att funktioner och etiketter matchar och mäta sekvenslängder. Modeller fyller ofta ut eller trunkerar text till en lika stor len() så att databatchar delar samma form.

Ja. GitHub Copilot autokompletterar len()-kontroller och räknar loopar från en kort kommentar som beskriver ditt mål. Agentic AI-assistenter går längre, skriver längdvalideringslogik, lägger till guard-klausuler mot TypeError och kör dina tester åt dig.

Sammanfatta detta inlägg med: