Python len() Funksjon: Hvordan finne lengden på strengen

⚡ Smart oppsummering

Python len() er en innebygd funksjon som returnerer antall elementer i et objekt, for eksempel tegnene i en streng eller elementene i en liste, tuple, ordbok eller sett.

  • 🔢 Syntaks: len(objekt) tar et enkelt argument og returnerer et heltall, det totale antallet elementer det inneholder.
  • 🔠 Strenger: For en streng teller len() hvert tegn, inkludert mellomrom, sifre og tegnsettingstegn.
  • 📦 samlinger: len() måler størrelsen på lister, tupler, ordbøker, sett og områdeobjekter på samme måte.
  • ⚙️ Ytelse: len() kjører i konstant O(1) tid fordi Python lagrer hver objektlengde som et attributt.
  • 🚫 Type Feil: Å kalle len() på et heltall eller None genererer en TypeError, siden disse typene ikke har noen lengde.
  • 🤖 AI-hjelp: AI-kodingsassistenter genererer len()-sjekker, og maskinlæringsrørledninger bruker len() til å fylle ut og batche sekvenser.

Python len() Funksjon

Hva er den Python len()-funksjon?

Ocuco len () funksjonen er en innebygd funksjon i PythonDu kan bruke len() for å få lengden på en gitt streng, matrise, liste, tuppel, ordbok og andre objekter. Fordi antallet elementer lagres på objektet i stedet for å beregnes på nytt hver gang, hjelper len() deg med å sjekke størrelsen raskt og optimalisere ytelsen til programmet ditt.

Syntaks av Python len() Funksjon

Ocuco Python len()-funksjonen bruker følgende syntaks:

len(value)

Parametre

verdi: Det gitte objektet – for eksempel en streng, liste, tuppel, ordbok eller sett – hvis lengde du vil måle.

Returverdi

len() returnerer et heltall, det vil si antall tegn i en streng eller antall elementer i en matrise, liste eller samling. Den nøyaktige betydningen av returverdien avhenger av typen objekt som sendes til den:

  • Strenger: len() returnerer antall tegn i strengen, inkludert tegnsetting, mellomrom og alle typer spesialtegn.
  • Tømme: En tom streng eller tom samling returnerer 0, fordi den inneholder null elementer.
  • samlinger: Den innebygde len()-funksjonen returnerer antall elementer som er lagret i en samling.
  • Type Feil: len() avhenger av typen objekt som sendes til den. Å sende en verdi uten lengde, for eksempel et heltall, genererer en TypeError.
  • Ordbok: For en ordbok telles hvert nøkkelverdipar som én enhet, så len() returnerer antall nøkler.

Eksempler på Python len() Funksjon

Følgende eksempler viser hvordan du bruker len()-funksjonen til å finne lengden på forskjellige Python objekter, inkludert en streng, en liste, en tuple, en ordbok og en matrise.

Eksempel 1: Hvordan finne lengden på en streng

# testing len() 
str1 = "Welcome to  Guru99 Python Tutorials"
print("The length of the string  is :", len(str1))

Utgang:

The length of the string  is : 35

Eksempel 2: Hvordan finne lengden på en liste

# to find the length of the list

list1 = ["Tim","Charlie","Tiffany","Robert"]

print("The length of the list is", len(list1))

Utgang:

The length of the list is 4

Eksempel 3: Hvordan finne lengden på en tuple

# to find the length of the tuple

Tup = ('Jan','feb','march')

print("The length of the tuple is", len(Tup))

Utgang:

The length of the tuple is 3

Eksempel 4: Hvordan finne lengden 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))

Utgang:

The length of the Dictionary is 4

Eksempel 5: Hvordan finne lengden på en matrise

# to find the length of the array

arr1 = ['Tim','Charlie','Tiffany','Robert']

print("The length of the Array is", len(arr1))

Utgang:

The length of the Array is 4

Hvordan finne lengden på en streng uten len() i Python

len()-funksjonen er den raskeste og mest lesbare måten å måle en streng på, men du kan også telle tegn manuelt. Dette er en vanlig øvelse i et kodeintervju, og hver metode går ganske enkelt gjennom strengen mens den øker en teller.

Den vanligste tilnærmingen bruker 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)

Utgang:

The length is 6

Et kortere alternativ bruker sum()-funksjonen med et generatoruttrykk, og legger til 1 for hvert tegn i strengen:

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

Utgang:

The length is 6

Andre måter å telle tegn uten len() på inkluderer følgende:

  • En while-løkke som deler strengen til den blir tom, og øker en teller for hver omgang.
  • enumerate()-funksjonen, som tracks indeksen til hvert tegn mens det itererer.
  • En rekursiv funksjon som returnerer 1 pluss lengden på den gjenværende delstrengen.

Disse manuelle metodene er tregere enn den innebygde len(), så reserver dem for læring eller intervjuøvelse. I vanlig kode er len() fortsatt det raskeste og tydeligste alternativet.

Hvordan gjør Python Fungerer len()-funksjonen internt?

Å forstå hvordan len() fungerer forklarer hvorfor det er så raskt. Når du kaller len() på et objekt, Python skanner ikke hvert element ett etter ett. I stedet kaller den objektet den spesielle __len__()-metoden, som betyr at uttrykket len(x) er ekvivalent med x.__len__().

Innebygde beholdere som strenger, lister, tupler, ordbøker og sett lagrer sin egen størrelse som et attributt. Hver gang du legger til eller fjerner et element, Python oppdaterer dette lagrede antallet. Når len() kalles, leser den ganske enkelt den forhåndslagrede verdien og returnerer den.

Fordi lengden allerede er kjent, kjører len() i konstant tid, skrevet som O(1). Det tar samme tid enten objektet inneholder fem elementer eller fem millioner. Du kan også legge til len()-støtte til dine egne klasser ved å definere en __len__()-metode som returnerer et heltall:

class Team:
    def __len__(self):
        return 11

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

Utgang:

11

Denne designen er grunnen til at len() oppfører seg konsistent på tvers av alle innebygde typer, så vel som alle tilpassede objekter som implementerer en __len__()-metode.

» Lær mer om Python Strengemetoder

Spørsmål og svar

Ja. len() teller hvert tegn i en streng, inkludert mellomrom, tabulatorer, sifre og tegnsettingstegn. For eksempel, len(“Guru 99!”) returnerer 8, fordi mellomrommet og utropstegnet telles som ett tegn.

len() returnerer 0 for en tom streng, fordi den ikke inneholder tegn. len()-funksjonen er ikke nullindeksert; den teller elementer fra én, så len("a") returnerer 1 og len("") returnerer 0.

Heltall lagrer ikke flere elementer, så de har ingen lengde. Kalling av len(123) genererer feilmeldingen «TypeError: object of type 'int' has no len()». Konverter tallet først med len(str(123)) når du vil telle sifrene.

Ja. For en ordbok returnerer len() antall nøkkel-verdi-par, og teller hvert par én gang. For et sett returnerer len() antall unike elementer, siden et sett automatisk forkaster dupliserte verdier.

len() returnerer antall Unicode-kodepunkter i en streng, så de fleste bokstaver og symboler med aksent teller som én. Noen emojier og kombinerte tegn bruker imidlertid flere kodepunkter, så len() kan rapportere mer enn én for dem.

Gi len som nøkkel til max()-funksjonen: max(words, key=len) returnerer den lengste strengen i listen. På samme måte returnerer min(words, key=len) den korteste. Dette unngår å skrive en manuell løkke for å sammenligne hver lengde.

Maskinlæringspipeliner bruker len() konstant – for å sjekke datasettstørrelser, bekrefte at funksjoner og etiketter samsvarer, og måle sekvenslengder. Modeller fyller ofte ut eller avkorter tekst til en lik len() slik at datagrupper deler samme form.

Ja. GitHub Copilot fullfører autolen()-sjekker og telleløkker fra en kort kommentar som beskriver målet ditt. Agentic AI-assistenter går lenger, skriver lengdevalideringslogikk, legger til beskyttelsesklausuler mot TypeError og kjører testene dine for deg.

Oppsummer dette innlegget med: