Python len() Funkce: Jak zjistit délku řetězce
⚡ Chytré shrnutí
Python len() je vestavěná funkce, která vrací počet položek v objektu, například znaky v řetězci nebo prvky v seznamu, n-tici, slovníku nebo množině.

Co je Python Funkce len()?
Jedno len () funkce je vestavěná funkce v PythonPomocí funkce len() můžete získat délku daného řetězce, pole, seznamu, n-tice, slovníku a dalších objektů. Protože počet prvků je uložen v objektu a není pokaždé přepočítáván, pomáhá vám funkce len() rychle zkontrolovat velikost a optimalizovat výkon vašeho programu.
Syntaxe Python len() Funkce
Jedno Python Funkce len() používá následující syntaxi:
len(value)
parametry
hodnota: Daný objekt – například řetězec, seznam, n-tice, slovník nebo sada – jehož délku chcete změřit.
Návratová hodnota
Funkce len() vrací celé číslo, tj. počet znaků v řetězci nebo počet prvků v poli, seznamu nebo kolekci. Přesný význam návratové hodnoty závisí na typu objektu, který jí je předán:
- Řetězce: Funkce len() vrací počet znaků v řetězci, včetně interpunkce, mezer a všech druhů speciálních znaků.
- Prázdný: Prázdný řetězec nebo prázdná kolekce vrací hodnotu 0, protože obsahuje nula prvků.
- Sbírky: Vestavěná funkce len() vrací počet prvků uložených v kolekci.
- Chyba typu: Funkce len() závisí na typu objektu, který jí je předán. Předání hodnoty, která nemá žádnou délku, například celého čísla, vyvolá chybu TypeError.
- Slovník: U slovníku se každý pár klíč-hodnota počítá jako jedna jednotka, takže len() vrací počet klíčů.
Příklady Python len() Funkce
Následující příklady ukazují, jak použít funkci len() k nalezení délky různých Python objekty, včetně řetězce, seznamu, n-tice, slovníku a pole.
Příklad 1: Jak zjistit délku řetězce
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Výstup:
The length of the string is : 35
Příklad 2: Jak zjistit délku seznamu
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Výstup:
The length of the list is 4
Příklad 3: Jak najít délku n-tice
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Výstup:
The length of the tuple is 3
Příklad 4: Jak zjistit délku slovníku
# 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))
Výstup:
The length of the Dictionary is 4
Příklad 5: Jak najít délku pole
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Výstup:
The length of the Array is 4
Jak zjistit délku řetězce bez použití funkce len() v Python
Funkce len() je nejrychlejší a nejčitelnější způsob, jak měřit řetězec, ale znaky můžete počítat i ručně. Toto je běžné cvičení v kódovacím pohovoru a každá metoda jednoduše prochází řetězec a zároveň zvyšuje čítač.
Nejběžnější přístup používá smyčku for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Výstup:
The length is 6
Kratší možnost používá funkci sum() s generátorovým výrazem, který přidává 1 za každý znak v řetězci:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Výstup:
The length is 6
Mezi další způsoby, jak počítat znaky bez funkce len(), patří:
- Smyčka while, která prořezává řetězec, dokud se nevyprázdní, a při každém průchodu zvyšuje hodnotu čítače.
- Funkce enumerate(), která tracks index každého znaku během jeho iterace.
- Rekurzivní funkce, která vrací 1 plus délku zbývajícího podřetězce.
Tyto manuální metody jsou pomalejší než vestavěná funkce len(), takže si je nechte pro učení nebo procvičování pohovorů. V běžném kódu zůstává len() nejrychlejší a nejpřehlednější možností.
Jak to dělá Python Funguje funkce len() interně?
Pochopení fungování funkce len() vysvětluje, proč je tak rychlá. Když voláte funkci len() na objektu, Python Neprohledává každý prvek jeden po druhém. Místo toho volá speciální metodu objektu __len__(), což znamená, že výraz len(x) je ekvivalentní x.__len__().
Vestavěné kontejnery, jako jsou řetězce, seznamy, n-tice, slovníky a množiny, ukládají svou vlastní velikost jako atribut. Pokaždé, když přidáte nebo odeberete prvek, Python aktualizuje tento uložený počet. Když je volána funkce len(), jednoduše přečte tuto předem uloženou hodnotu a vrátí ji.
Protože je délka již známa, funkce len() běží v konstantním čase, zapsaném jako O(1). Trvá to stejně dlouho, ať už objekt obsahuje pět položek nebo pět milionů. Podporu funkce len() můžete také přidat do vlastních tříd definováním metody __len__(), která vrací celé číslo:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Výstup:
11
Díky tomuto designu se metoda len() chová konzistentně napříč všemi vestavěnými typy a také v jakémkoli vlastním objektu, který implementuje metodu __len__().
" Dozvědět se víc o Python Řetězcové metody
