Python len() Funktion: Sådan finder du længden af ​​strengen

⚡ Smart opsummering

Python len() er en indbygget funktion, der returnerer antallet af elementer i et objekt, såsom tegnene i en streng eller elementerne i en liste, tuple, ordbog eller sæt.

  • 🔢 Syntaks: len(object) tager et enkelt argument og returnerer et heltal, det samlede antal elementer, det indeholder.
  • 🔠 Strenge: For en streng tæller len() alle tegn, inklusive mellemrum, cifre og tegnsætningstegn.
  • 📦 Samlinger: len() måler størrelsen af ​​lister, tupler, ordbøger, sæt og områdeobjekter på samme måde.
  • 🇧🇷 Ydelse: len() kører i konstant O(1) tid fordi Python gemmer hver objektlængde som en attribut.
  • 🚫 TypeError: Kald af len() på et heltal eller None giver en TypeError, da disse typer ikke har nogen længde.
  • 🤖 AI assistance: AI-kodningsassistenter genererer len()-tjek, og maskinlæringspipelines bruger len() til at udfylde og batche sekvenser.

Python len() Funktion

Hvad er det Python len() Funktion?

len () funktionen er en indbygget funktion i PythonDu kan bruge len() til at finde længden af ​​en given streng, et array, en liste, en tuple, en ordbog og andre objekter. Fordi antallet af elementer gemmes på objektet i stedet for at blive genberegnet hver gang, hjælper len() dig med at kontrollere størrelsen hurtigt og optimere dit programs ydeevne.

Syntaks af Python len() Funktion

Python Funktionen len() bruger følgende syntaks:

len(value)

Driftsparametre

værdi: Det givne objekt – såsom en streng, liste, tuple, ordbog eller sæt – hvis længde du vil måle.

Returværdi

len() returnerer et heltal, dvs. antallet af tegn i en streng eller antallet af elementer i et array, en liste eller en samling. Den nøjagtige betydning af returværdien afhænger af typen af ​​objekt, der sendes til den:

  • Strenge: len() returnerer antallet af tegn i strengen, inklusive tegnsætning, mellemrum og alle typer specialtegn.
  • Tom: En tom streng eller tom samling returnerer 0, fordi den indeholder nul elementer.
  • Samlinger: Den indbyggede len() returnerer antallet af elementer, der er gemt i en samling.
  • TypeError: len() afhænger af typen af ​​det objekt, der sendes til det. Hvis der sendes en værdi uden længde, f.eks. et heltal, udløses en TypeError.
  • Ordbog: For en ordbog tælles hvert nøgle-værdi-par som én enhed, så len() returnerer antallet af nøgler.

Eksempler på Python len() Funktion

De følgende eksempler viser, hvordan man bruger funktionen len() til at finde længden af ​​forskellige Python objekter, herunder en streng, en liste, en tuple, en ordbog og et array.

Eksempel 1: Sådan finder du længden af ​​en streng

# 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

Eksempel 2: Sådan finder du længden af ​​en liste

# 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

Eksempel 3: Sådan finder du længden af ​​en tuple

# 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

Eksempel 4: Sådan finder du længden af ​​en ordbog

# 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

Eksempel 5: Sådan finder du længden af ​​et array

# 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

Sådan finder du længden af ​​en streng uden len() i Python

Funktionen len() er den hurtigste og mest læsbare måde at måle en streng på, men du kan også tælle tegn manuelt. Dette er en almindelig øvelse i et kodningsinterview, og hver metode gennemløber blot strengen, mens den øger en tæller.

Den mest almindelige fremgangsmåde bruger en for-løkke:

# 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

En kortere indstilling bruger sum()-funktionen med et generatorudtryk, hvor der tilføjes 1 for hvert tegn i strengen:

mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)

Output:

The length is 6

Andre måder at tælle tegn uden len() inkluderer følgende:

  • En while-løkke, der opdeler strengen, indtil den bliver tom, og øger en tæller for hver gennemgang.
  • Funktionen enumerate(), som tracks indekset for hvert tegn, mens det itererer.
  • En rekursiv funktion, der returnerer 1 plus længden af ​​den resterende delstreng.

Disse manuelle metoder er langsommere end den indbyggede len(), så reserver dem til læring eller interviewøvelse. I almindelig kode er len() stadig den hurtigste og mest klare løsning.

Hvordan virker Python Virker len()-funktionen internt?

At forstå hvordan len() fungerer forklarer hvorfor det er så hurtigt. Når du kalder len() på et objekt, Python scanner ikke hvert element et efter et. I stedet kalder den objektet den specielle __len__() metode, hvilket betyder, at udtrykket len(x) er ækvivalent med x.__len__().

Indbyggede containere såsom strenge, lister, tupler, ordbøger og sæt gemmer deres egen størrelse som en attribut. Hver gang du tilføjer eller fjerner et element, Python opdaterer dette gemte antal. Når len() kaldes, læser den blot den forudgemte værdi og returnerer den.

Fordi længden allerede er kendt, kører len() i konstant tid, skrevet som O(1). Det tager den samme tid, uanset om objektet indeholder fem elementer eller fem millioner. Du kan også tilføje len()-understøttelse til dine egne klasser ved at definere en __len__()-metode, der returnerer et heltal:

class Team:
    def __len__(self):
        return 11

squad = Team()
print(len(squad))

Output:

11

Dette design er grunden til, at len() opfører sig ensartet på tværs af alle indbyggede typer, såvel som ethvert brugerdefineret objekt, der implementerer en __len__() metode.

" Lær mere om Python Stringmetoder

Ofte Stillede Spørgsmål

Ja. len() tæller alle tegn i en streng, inklusive mellemrum, tabulatorer, cifre og tegnsætningstegn. For eksempel, len("Guru 99!”) returnerer 8, fordi mellemrummet og udråbstegnet hver tæller som ét tegn.

len() returnerer 0 for en tom streng, fordi den ikke indeholder tegn. Funktionen len() er ikke nul-indekseret; den tæller elementer startende ved et, så len("a") returnerer 1 og len("") returnerer 0.

Heltal gemmer ikke flere elementer, så de har ingen længde. Kald af len(123) giver fejlen “TypeError: object of type 'int' has no len()”. Konverter først tallet med len(str(123)), når du vil tælle dets cifre.

Ja. For en ordbog returnerer len() antallet af nøgle-værdi-par, hvor hvert par tælles én gang. For et sæt returnerer len() antallet af unikke elementer, da et sæt automatisk kasserer dubletter.

len() returnerer antallet af Unicode-kodepunkter i en streng, så de fleste accentuerede bogstaver og symboler tæller som én. Nogle emoji og kombinerede tegn bruger dog flere kodepunkter, så len() kan rapportere mere end én for dem.

Giv len som nøglen til max()-funktionen: max(words, key=len) returnerer den længste streng i listen. Ligeledes returnerer min(words, key=len) den korteste. Dette undgår at skrive en manuel løkke for at sammenligne hver længde.

Maskinlæringspipelines bruger konstant len() – til at kontrollere datasætstørrelser, bekræfte at funktioner og labels matcher, og måle sekvenslængder. Modeller udfylder eller afkorter ofte tekst til en lige stor len(), så databatches deler den samme form.

Ja. GitHub Copilot fuldfører automatisk len()-tjek og tæller loops fra en kort kommentar, der beskriver dit mål. Agentic AI-assistenter går endnu videre, skriver længdevalideringslogik, tilføjer guard-klausuler mod TypeError og kører dine tests for dig.

Opsummer dette indlæg med: