Python Funkcja len(): Jak znaleźć długość łańcucha
⚡ Inteligentne podsumowanie
Python len() to wbudowana funkcja, która zwraca liczbę elementów obiektu, na przykład znaków w ciągu lub elementów listy, krotki, słownika lub zestawu.

Co to jest Python Funkcja len()?
len () funkcja jest wbudowaną funkcją w PythonZa pomocą funkcji len() można uzyskać długość danego ciągu znaków, tablicy, listy, krotki, słownika i innych obiektów. Ponieważ liczba elementów jest przechowywana w obiekcie, a nie przeliczana za każdym razem, funkcja len() pozwala szybko sprawdzić rozmiar i zoptymalizować wydajność programu.
Składnia Python Funkcja len().
Python Funkcja len() używa następującej składni:
len(value)
Parametry
wartość: Dany obiekt — taki jak ciąg znaków, lista, krotka, słownik lub zestaw — którego długość chcesz zmierzyć.
Wartość zwracana
Funkcja len() zwraca liczbę całkowitą, czyli liczbę znaków w ciągu znaków lub liczbę elementów w tablicy, liście lub kolekcji. Dokładne znaczenie wartości zwracanej zależy od typu przekazanego obiektu:
- Ciągi: len() zwraca liczbę znaków w ciągu, wliczając znaki interpunkcyjne, spacje i wszelkiego rodzaju znaki specjalne.
- Pusty: Pusty ciąg znaków lub pusta kolekcja zwraca 0, ponieważ nie zawiera żadnych elementów.
- Kolekcje: Funkcja wbudowana len() zwraca liczbę elementów przechowywanych w kolekcji.
- Błąd typu: Funkcja len() zależy od typu przekazanego obiektu. Przekazanie wartości bez długości, takiej jak liczba całkowita, powoduje błąd TypeError.
- Słownik: W przypadku słownika każda para klucz-wartość liczona jest jako jedna jednostka, więc len() zwraca liczbę kluczy.
Przykłady Python Funkcja len().
Poniższe przykłady pokazują, jak używać funkcji len() do znajdowania długości różnych Python obiekty, w tym ciąg znaków, lista, krotka, słownik i tablica.
Przykład 1: Jak znaleźć długość ciągu znaków
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Wyjście:
The length of the string is : 35
Przykład 2: Jak znaleźć długość listy
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Wyjście:
The length of the list is 4
Przykład 3: Jak znaleźć długość krotki
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Wyjście:
The length of the tuple is 3
Przykład 4: Jak znaleźć długość słownika
# 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))
Wyjście:
The length of the Dictionary is 4
Przykład 5: Jak znaleźć długość tablicy
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Wyjście:
The length of the Array is 4
Jak znaleźć długość ciągu bez len() w Python
Funkcja len() to najszybszy i najbardziej czytelny sposób pomiaru ciągu znaków, ale można również liczyć znaki ręcznie. To typowe ćwiczenie na rozmowach kwalifikacyjnych z kodowaniem, a każda metoda po prostu przechodzi przez ciąg znaków, zwiększając jednocześnie licznik.
Najbardziej powszechne podejście wykorzystuje pętlę for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Wyjście:
The length is 6
Krótsza opcja wykorzystuje funkcję sum() z wyrażeniem generatora, dodając 1 dla każdego znaku w ciągu:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Wyjście:
The length is 6
Inne sposoby liczenia znaków bez len() obejmują:
- Pętla while, która wycina ciąg znaków, aż stanie się pusty, zwiększając licznik przy każdym przejściu.
- Funkcja enumerate(), która tracks indeks każdego znaku podczas iteracji.
- Funkcja rekurencyjna zwracająca 1 plus długość pozostałego podciągu.
Te metody ręczne są wolniejsze niż wbudowana funkcja len(), dlatego należy je zarezerwować do nauki lub ćwiczeń na potrzeby rozmów kwalifikacyjnych. W codziennym kodzie len() pozostaje najszybszą i najjaśniejszą opcją.
W jaki sposób Python Czy funkcja len() działa wewnętrznie?
Zrozumienie działania funkcji len() wyjaśnia, dlaczego jest ona tak szybka. Kiedy wywołujesz funkcję len() na obiekcie, Python Nie skanuje każdego elementu pojedynczo. Zamiast tego wywołuje specjalną metodę __len__() obiektu, co oznacza, że wyrażenie len(x) jest równoważne z x.__len__().
Wbudowane kontenery, takie jak ciągi znaków, listy, krotki, słowniki i zestawy, przechowują swój własny rozmiar jako atrybut. Za każdym razem, gdy dodajesz lub usuwasz element, Python Aktualizuje tę zapisaną liczbę. Po wywołaniu funkcji len() po prostu odczytuje ona wstępnie zapisaną wartość i ją zwraca.
Ponieważ długość jest już znana, funkcja len() działa w czasie stałym, zapisywanym jako O(1). Zajmuje tyle samo czasu, niezależnie od tego, czy obiekt zawiera pięć, czy pięć milionów elementów. Możesz również dodać obsługę len() do własnych klas, definiując metodę __len__(), która zwraca liczbę całkowitą:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Wyjście:
11
Dzięki takiemu projektowi metoda len() zachowuje się spójnie w przypadku każdego typu wbudowanego, a także dowolnego obiektu niestandardowego implementującego metodę __len__().
»Dowiedz się więcej nt Python Metody ciągu
