Python Функція len(): Як знайти довжину рядка

⚡ Розумний підсумок

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

  • 🔢 Синтаксис: len(object) приймає один аргумент і повертає ціле число, загальну кількість елементів, які він містить.
  • 🔠 Струни: Для рядка, len() підраховує кожен символ, включаючи пробіли, цифри та розділові знаки.
  • 📦 колекції: len() вимірює розмір списків, кортежів, словників, множин та об'єктів діапазону таким самим чином.
  • Продуктивність: len() виконується за постійний час O(1), оскільки Python зберігає кожну довжину об'єкта як атрибут.
  • 🚫 Тип помилки: Виклик len() для цілого числа або None викликає помилку TypeError, оскільки ці типи не мають довжини.
  • 🤖 Допомога AI: Помічники кодування штучного інтелекту генерують перевірки len(), а конвеєри машинного навчання використовують 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 Рядові методи

Поширені запитання

Так. len() підраховує кожен символ у рядку, включаючи пробіли, табуляцію, цифри та розділові знаки. Наприклад, len(“Guru 99!) повертає 8, оскільки пробіл і знак оклику враховуються як один символ.

Функція len() повертає 0 для порожнього рядка, оскільки він не містить символів. Функція len() не має нульового індексу; вона рахує елементи, починаючи з одиниці, тому len(“a”) повертає 1, а len(“”) повертає 0.

Цілі числа не зберігають кілька елементів, тому вони не мають довжини. Виклик len(123) викликає помилку «TypeError: об'єкт типу 'int' не має len()». Спочатку перетворіть число за допомогою len(str(123)), якщо потрібно порахувати його цифри.

Так. Для словника len() повертає кількість пар ключ-значення, враховуючи кожну пару один раз. Для множини len() повертає кількість унікальних елементів, оскільки множина автоматично відкидає дублікати значень.

len() повертає кількість кодових точок Unicode у рядку, тому більшість літер та символів з акцентами рахуються як один. Однак деякі емодзі та комбіновані символи використовують кілька кодових точок, тому len() може повідомити про більше одного для них.

Передайте len як ключ до функції max(): max(words, key=len) повертає найдовший рядок у списку. Аналогічно, min(words, key=len) повертає найкоротший. Це дозволяє уникнути написання ручного циклу для порівняння кожної довжини.

Конвеєри машинного навчання постійно використовують len() — для перевірки розмірів наборів даних, підтвердження збігу ознак та міток, а також для вимірювання довжини послідовностей. Моделі часто доповнюють або обрізають текст до рівного len(), щоб пакети даних мали однакову форму.

Так. GitHub Copilot автоматично завершує перевірки len() та підраховує цикли з короткого коментаря, що описує вашу мету. Помічники Agentic AI йдуть далі, пишучи логіку перевірки довжини, додаючи захисні речення від TypeError та запускаючи ваші тести за вас.

Підсумуйте цей пост за допомогою: