Python len() Funkcija: Kako pronaći duljinu niza
⚡ Pametni sažetak
Python len() je ugrađena funkcija koja vraća broj elemenata u objektu, kao što su znakovi u nizu ili elementi u listi, n-torci, rječniku ili skupu.

Što je Python Funkcija len()?
The len () funkcija je ugrađena funkcija u PythonPomoću funkcije len() možete dobiti duljinu zadanog niza, polja, liste, n-torke, rječnika i drugih objekata. Budući da se broj elemenata pohranjuje na objektu, a ne izračunava svaki put, funkcija len() pomaže vam da brzo provjerite veličinu i optimizirate performanse programa.
Sintaksa Python len() funkcija
The Python Funkcija len() koristi sljedeću sintaksu:
len(value)
Parametri
vrijednost: Zadani objekt - kao što je niz znakova, lista, n-torka, rječnik ili skup - čiju duljinu želite izmjeriti.
Povratna vrijednost
len() vraća cijeli broj, tj. broj znakova u nizu ili broj elemenata u polju, listi ili kolekciji. Točno značenje povratne vrijednosti ovisi o vrsti objekta koji joj je proslijeđen:
- Žice: len() vraća broj znakova u nizu, uključujući interpunkcijske znakove, razmake i sve vrste posebnih znakova.
- Prazan: Prazan niz ili prazna kolekcija vraća 0 jer sadrži nula elemenata.
- zbirke: Ugrađena funkcija len() vraća broj elemenata pohranjenih u kolekciji.
- TypeError: len() ovisi o tipu objekta koji mu se prosljeđuje. Prosljeđivanje vrijednosti koja nema duljinu, poput cijelog broja, izaziva grešku TypeError.
- Rječnik: Za rječnik, svaki par ključ-vrijednost računa se kao jedna jedinica, pa len() vraća broj ključeva.
Primjeri Python len() funkcija
Sljedeći primjeri pokazuju kako koristiti funkciju len() za pronalaženje duljine različitih Python objekte, uključujući niz znakova, listu, n-torku, rječnik i niz.
Primjer 1: Kako pronaći duljinu niza znakova
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Izlaz:
The length of the string is : 35
Primjer 2: Kako pronaći duljinu popisa
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Izlaz:
The length of the list is 4
Primjer 3: Kako pronaći duljinu tuplea
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Izlaz:
The length of the tuple is 3
Primjer 4: Kako pronaći duljinu rječnika
# 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))
Izlaz:
The length of the Dictionary is 4
Primjer 5: Kako pronaći duljinu niza
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Izlaz:
The length of the Array is 4
Kako pronaći duljinu niza bez len() u Python
Funkcija len() je najbrži i najčitljiviji način mjerenja niza znakova, ali znakove možete brojati i ručno. Ovo je uobičajena vježba u intervjuu za programiranje, a svaka metoda jednostavno prolazi kroz niz dok povećava brojač.
Najčešći pristup koristi for petlju:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Izlaz:
The length is 6
Kraća opcija koristi funkciju sum() s izrazom generatora, dodajući 1 za svaki znak u nizu:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Izlaz:
The length is 6
Drugi načini brojanja znakova bez len() uključuju sljedeće:
- White petlja koja reže niz dok se ne isprazni, povećavajući brojač u svakom prolazu.
- Funkcija enumerate(), koja tracks indeks svakog znaka tijekom iteracije.
- Rekurzivna funkcija koja vraća 1 plus duljinu preostalog podniza.
Ove ručne metode su sporije od ugrađene funkcije len(), stoga ih sačuvajte za učenje ili vježbu na razgovoru za posao. U svakodnevnom kodu, len() ostaje najbrža i najjasnija opcija.
Kako Python Radi li funkcija len() interno?
Razumijevanje načina rada funkcije len() objašnjava zašto je tako brza. Kada pozovete len() na objektu, Python ne skenira svaki element jedan po jedan. Umjesto toga, poziva posebnu metodu objekta __len__(), što znači da je izraz len(x) ekvivalentan x.__len__().
Ugrađeni spremnici poput nizova znakova, popisa, n-torki, rječnika i skupova pohranjuju vlastitu veličinu kao atribut. Svaki put kada dodate ili uklonite element, Python ažurira ovaj pohranjeni broj. Kada se pozove len(), on jednostavno čita tu unaprijed pohranjenu vrijednost i vraća je.
Budući da je duljina već poznata, len() se izvršava u konstantnom vremenu, zapisano kao O(1). Potrebno je isto vrijeme bez obzira sadrži li objekt pet ili pet milijuna stavki. Također možete dodati podršku za len() vlastitim klasama definiranjem metode __len__() koja vraća cijeli broj:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Izlaz:
11
Zbog ovog dizajna, len() se ponaša konzistentno u svakom ugrađenom tipu, kao i u svakom prilagođenom objektu koji implementira metodu __len__().
" Nauči više o Python Metode niza
