Python Функція len(): Як знайти довжину рядка
⚡ Розумний підсумок
Python len() — це вбудована функція, яка повертає кількість елементів в об'єкті, таких як символи в рядку або елементи в списку, кортежі, словнику чи наборі.

Що таке Python Функція len()?
Команда len () функція є вбудованою функцією в PythonВи можете використовувати len() для отримання довжини заданого рядка, масиву, списку, кортежу, словника та інших об'єктів. Оскільки кількість елементів зберігається в об'єкті, а не перераховується щоразу, len() допомагає швидко перевірити розмір та оптимізувати продуктивність вашої програми.
Синтаксис Python Функція len().
Команда Python Функція len() використовує наступний синтаксис:
len(value)
Параметри
значення: Даний об'єкт — такий як рядок, список, кортеж, словник або множина — довжину якого потрібно виміряти.
значення, що повертається
len() повертає ціле число, тобто кількість символів у рядку або кількість елементів у масиві, списку чи колекції. Точне значення повернутого значення залежить від типу об'єкта, переданого йому:
- Струни: len() повертає кількість символів у рядку, включаючи розділові знаки, пробіли та всі види спеціальних символів.
- Порожній: Порожній рядок або порожня колекція повертає 0, оскільки вона містить нуль елементів.
- колекції: Вбудована функція len() повертає кількість елементів, що зберігаються в колекції.
- Тип помилки: len() залежить від типу об'єкта, що йому передається. Передача значення, яке не має довжини, наприклад, цілого числа, викликає помилку TypeError.
- Словник: Для словника кожна пара ключ-значення вважається однією одиницею, тому len() повертає кількість ключів.
Приклади Python Функція len().
У наступних прикладах показано, як використовувати функцію len() для знаходження довжини різних Python об'єкти, включаючи рядок, список, кортеж, словник і масив.
Приклад 1: Як знайти довжину рядка
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
вихід:
The length of the string is : 35
Приклад 2: Як знайти довжину списку
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
вихід:
The length of the list is 4
Приклад 3: Як знайти довжину кортежу
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
вихід:
The length of the tuple is 3
Приклад 4: Як знайти довжину словника
# 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))
вихід:
The length of the Dictionary is 4
Приклад 5: Як знайти довжину масиву
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
вихід:
The length of the Array is 4
Як знайти довжину рядка без використання len() у Python
Функція len() — це найшвидший і найзрозуміліший спосіб вимірювання рядка, але ви також можете рахувати символи вручну. Це поширена вправа під час співбесіди з кодування, і кожен метод просто перебирає рядок, збільшуючи лічильник.
Найпоширеніший підхід використовує цикл for:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
вихід:
The length is 6
Коротший варіант використовує функцію sum() з генераторним виразом, додаючи 1 для кожного символу в рядку:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
вихід:
The length is 6
Інші способи підрахунку символів без len() включають наступне:
- Цикл while, який розрізає рядок, доки він не стане порожнім, збільшуючи лічильник на кожному проході.
- Функція enumerate(), яка tracks індекс кожного символу під час ітерації.
- Рекурсивна функція, яка повертає 1 плюс довжину решти підрядка.
Ці ручні методи повільніші за вбудований len(), тому залиште їх для навчання або практики під час співбесіди. У повсякденному коді len() залишається найшвидшим і найзрозумілішим варіантом.
Як це робить Python Чи працює функція len() внутрішньо?
Розуміння того, як працює len(), пояснює, чому він такий швидкий. Коли ви викликаєте len() для об'єкта, Python не сканує кожен елемент по черзі. Натомість він викликає спеціальний метод об'єкта __len__(), що означає, що вираз len(x) еквівалентний x.__len__().
Вбудовані контейнери, такі як рядки, списки, кортежі, словники та набори, зберігають свій власний розмір як атрибут. Щоразу, коли ви додаєте або видаляєте елемент, Python оновлює цей збережений лічильник. Коли викликається len(), він просто зчитує це попередньо збережене значення та повертає його.
Оскільки довжина вже відома, len() виконується за константний час, що записується як O(1). Він займає однаковий час, незалежно від того, чи містить об'єкт п'ять елементів, чи п'ять мільйонів. Ви також можете додати підтримку len() до власних класів, визначивши метод __len__(), який повертає ціле число:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
вихід:
11
Завдяки такій конструкції len() поводиться послідовно для кожного вбудованого типу, а також для будь-якого користувацького об'єкта, що реалізує метод __len__().
» Дізнайтеся більше про Python Рядові методи
