Оператор длины строки в питоне

Содержание
  1. Функция len() в Pyhton
  2. Функция len() в действии
  3. Что собой представляет функция len() в Python?
  4. Как применяется функция len()
  5. Использование функции len() со встроенными последовательностями
  6. Использование функции len() со встроенными коллекциями
  7. Пример 1. Определение длины коллекции, сгенерированной при помощи модуля random
  8. Пример 2. Определение количества элементов в словаре
  9. Использование функции len() с другими встроенными типами данных
  10. Использование функции len() со сторонними библиотеками
  11. Пример 1. Использование функции len() с массивом NumPy
  12. Пример 2. Использование функции len() с Pandas DataFrame
  13. Использование функции len() в пользовательских классах
  14. Заключение
  15. Четыре способа найти длину строки в Python
  16. Определяем длину строки в Python: способ № 1
  17. Ищем длину строки в «Питоне»: способ № 2
  18. Поиск длины строки в Python: способ № 3
  19. Находим длину строки в Python: способ № 4

Функция len() в Pyhton

Функция len() в Python принимает объект в качестве аргумента и возвращает длину этого объекта. Например, функция len() может возвращать количество элементов в списке.

Синтаксис функции len() имеет следующий вид:

Функция len() принимает один аргумент, который может быть:

  • последовательностью — строки, байтовые строки, итерируемые последовательности типа списка или кортежа;
  • коллекцией — словари, множества, замороженные множества и так далее.

А возвращает len() количество элементов в объекте, который передан в качестве аргумента.

Если мы не передаем никакого аргумента или аргумент имеет недопустимый тип, это вызовет исключение TypeError .

Ошибка TypeError возникает, когда тип данных не является коллекцией или последовательностью. Например, логическое значение, int и т. д.

print(len(False)) print(len(1212))
TypeError: object of type 'bool' has no len() TypeError: object of type 'int' has no len()

Функция len() в действии

Давайте найдем количество элементов внутри списка, иными словами — длину списка.

fruits = ['Bananas', 'Apples', 'Mangoes'] # вычисляем длину списка фруктов l = len(fruits) # выводим длину списка на экран print(l) # Результат: # 3

Что собой представляет функция len() в Python?

len() — это встроенная функция Python, которая принимает объект в качестве аргумента и возвращает его длину. Например, она может возвращать количество элементов в списке Python.

Help on built-in function len in module builtins: len(obj, /) Return the number of items in an object.

Всякий раз, когда мы используем встроенные и внешние типы данных с функцией len() , она не производит итерацию по структуре данных. Длина объекта-контейнера хранится как атрибут данного объекта. Значение этого атрибута изменяется каждый раз, когда элементы добавляются или удаляются из структуры данных, и len() просто возвращает данное значение. Это гарантирует, что функция len() работает быстро и эффективно.

Как применяется функция len()

Использование функции len() со встроенными последовательностями

Последовательность — это объект, содержащий элементы в упорядоченном виде. Списки, кортежи и строки являются основными примерами встроенных последовательностей в Python, а функция len() используется для вычисления длин этих последовательностей.

# Строка с именем name = "Andrew" print(len(name)) # 6 # Список продуктов food_items = ["Pizza", "Burger", "French Fries"] print(len(food_items)) # 3 # Кортеж с координатами coordinates = (51, 24) print(len(coordinates)) # 2 # Пустая строка print(len("")) # 0 # Пустой список print(len([])) # 0 # Пустой кортеж print(len()) # 0

Объяснение кода:

В приведенном выше фрагменте кода, чтобы найти длину строки name , списка food_items и кортежа coordinates , мы используем len() . Все эти три типа данных являются допустимыми аргументами для функции len() . Данная функция возвращает целое число, так как подсчитывает количество элементов в объекте, который передается ей в качестве аргумента. Если аргумент является пустой последовательностью, функция len() возвращает 0 .

Для создания последовательностей в определенном диапазоне мы также можем использовать функцию range() . Данная функция не хранит свои значения, а генерирует их по мере необходимости. Однако мы можем найти длину такой последовательности при помощи функции len() .

print(len(range(1, 10))) # Результат: # 9

Объяснение кода:

Этот диапазон чисел включает целые числа от 1 до 9 (10 исключается). Мы можем задавать длину объекта функции range() , используя ее аргументы start , stop и step .

Использование функции len() со встроенными коллекциями

Коллекции в Python — это типы данных, построенные на базе контейнеров. Это списки, множества, кортежи и словари. Все коллекции имеют определенные характеристики, основанные на их объявлении и использовании в программе. Например, списки объявляются в квадратных скобках. Они изменяемы, хранят повторяющиеся значения, а к их элементам можно обращаться при помощи индексов.

Пример 1. Определение длины коллекции, сгенерированной при помощи модуля random

В данном примере мы сначала используем функцию randint модуля random для создания списка случайных целых чисел, а затем применим функцию len() , чтобы найти количество элементов в коллекции.

import random # Создаем список из 10 случайных чисел nums = [random.randint(1, 10) for _ in range(10)] print(nums) # Создаем множество, которое содержит только уникальные элементы списка unique = set(nums) # Выводим на экран множество и его длину print(unique) print(len(unique))

Объяснение кода:

В приведенной выше программе мы сгенерировали список из 10 случайных чисел в диапазоне от 1 до 10, используя представление списков. Результат будет отличаться при каждом новом запуске кода, поскольку мы генерируем случайные числа. В данном случае множество содержит 6 уникальных чисел.

Пример 2. Определение количества элементов в словаре

Словарь — это встроенный тип данных в Python, который используется для хранения элементов в виде пар ключ-значение. Когда мы используем словарь в качестве аргумента для len() , функция возвращает количество элементов (пар ключ-значение) в словаре.

# Словарь, содержащий продукты питания print(len()) # Пустой словарь print(len(<>)) # Результат: # 3 # 0

Объяснение кода:

В выводе первым мы получили число 3 . Это означает, что в словаре с продуктами есть три пары ключ-значение. Как и в случае с последовательностями, функция len() возвращает 0 , если аргументом является либо пустой словарь, либо пустое множество.

Использование функции len() с другими встроенными типами данных

Типы данных, которые не хранят в себе более одного элемента, не могут использоваться в качестве аргумента для функции len() .

TypeError: object of type 'bool' has no len() TypeError: object of type 'int' has no len()

Целочисленные, вещественные, логические и сложные типы являются примерами встроенных типов данных, которые нельзя использовать с функцией len() . Функция вызывает TypeError, когда в нее передается аргумент недопустимого типа данных.

Использование функции len() со сторонними библиотеками

Мы также можем использовать функцию len() для объектов из различных сторонних библиотек. В этом разделе мы рассмотрим примеры использования len() с типами данных из двух популярных библиотек — NumPy и pandas.

Пример 1. Использование функции len() с массивом NumPy

Библиотека NumPy используется для выполнения ресурсоемких задач и является строительным блоком для различных типов данных.

Применив функцию NumPy np.array(), мы можем создать объект типа , используя переданный в качестве аргумента список.

import numpy as np nums = np.array([1, 7, 11, 2, 9, 25]) print(type(nums)) print(len(nums)) # Результат: # # 6

Объяснение кода:

Мы создали одномерный массив длины 6 , используя функцию np.array() , и вычислили его тип и длину, используя функции type() и len() соответственно.

Пример 2. Использование функции len() с Pandas DataFrame

Pandas DataFrame — это двумерная структура данных с помеченными осями (строками и столбцами). Данные внутри Pandas DataFrame выровнены табличным образом по строкам и столбцам. Датафреймы (DataFrame) широко используются в машинном обучении, научных вычислениях и многих других областях, связанных с интенсивным использованием данных.

import pandas as pd # Создаем словарь marks = < "Ash": [60, 75, 90], "Gary": [78, 55, 87], "Max": [47, 96, 85], "Tyson": [68, 88, 69], ># Создаем из словаря датафрейм df = pd.DataFrame(marks, index=["Maths", "Physics", "Chemistry"]) print(df) # Выводим на экран длину датафрейма print(len(df)) # Выводим на экран размеры датафрейма print(df.shape)
Ash Gary Max Tyson Maths 60 78 47 68 Physics 75 55 96 88 Chemistry 90 87 85 69 3 (3, 4)

Объяснение кода:

Ключи нашего словаря, содержащего отметки, представляют собой строки, являющиеся именами студентов. Значение каждого ключа представляет собой список, в котором хранятся оценки по трем предметам: математике, физике и химии.

При создании датафрейма с использованием этого словаря в качестве аргумента в функции pd.DataFrame() мы также должны определить индекс, используя список, содержащий три учебных предмета.

Созданный датафрейм содержит три строки и четыре столбца. Функция len() возвращает количество строк в датафрейме. Pandas DataFrame имеет свойство .shape , которое можно использовать для вывода количества строк и столбцов датафрейма в кортеже из двух элементов.

Использование функции len() в пользовательских классах

Встроенная в Python функция len() вызывает в нашем классе метод с именем __len__() . Такие методы, имеющие двойное подчеркивание в начале и конце имени, называются магическими.

Реализация этого метода позволит вызову len() работать с нашим классом. Если данный метод не будет реализован, вызов функции len() завершится ошибкой AttributeError. Встроенная в Python функция len() вызывает метод .__len__() своего аргумента.

class Order: def __init__(self, count): self.count = count def __len__(self): return self.count myOrder = Order(7) print(len(myOrder)) # Результат: # 7

Объяснение кода:

В вышеприведенной программе есть класс Order с атрибутом count . Мы также реализовали магическую функцию __len__() , которая возвращает общее количество заказов, переданных ей в качестве аргумента. Далее мы создали экземпляр нашего класса с именем myOrder , передав в него аргумент count , равный семи. И при вызове функции len() было возвращено значение данного атрибута.

Заключение

В данной статье мы рассмотрели, как использовать функцию len() в Python для определения количества элементов в последовательностях, коллекциях и сторонних типах данных.

Функция len() принимает объект в качестве аргумента и возвращает длину этого объекта.

Функцию len() можно использовать для:

  • встроенных типов данных;
  • типов данных из сторонних библиотек (например Numpy или pandas);
  • заданных пользователем классов (для этого в классе необходимо реализовать магический метод __len__() );

Источник

Четыре способа найти длину строки в Python

В некоторых случаях при работе со строками в Python нам необходимо определить длину строки. Сделать это можно несколькими способами, а какими — мы сейчас и узнаем.

Итак, в языке программирования Python строки относят к категории неизменяемых последовательностей, что необходимо помнить при вызове методов и функций. Теперь давайте представим, что у нас есть строка, и нам требуется найти её длину:

Сделать это можно несколькими способами.

Определяем длину строки в Python: способ № 1

Начнём с общеизвестного и наиболее популярного — использования функции len() . Эта встроенная функция возвращает количество символов в исследуемой нами строке, определяя таким образом её длину. Тут всё элементарно, и вы можете проверить код ниже на любом онлайн-компиляторе:

 
# Находим длину строки в Python с помощью функции len() str = 'otus' print(len(str))

Итогом работы функции станет следующий вывод в терминал:

Ищем длину строки в «Питоне»: способ № 2

Чтобы подсчитать количество символов в строке Python, мы можем воспользоваться циклом for и счётчиком. Тут тоже всё просто, т. к. определение длины происходит путём подсчёта числа итераций.

 
# Python-код возвращает длину строки def findLen(str): counter = 0 for i in str: counter += 1 return counter str = "otus" print(findLen(str))

Соответственно, наш вывод в консоли тоже будет равен 4.

Поиск длины строки в Python: способ № 3

Теперь давайте воспользуемся циклом while. Мы «нарежем» строку, укорачивая её на каждой итерации, в результате чего получим пустую строку и остановку цикла. А подсчёт количества итераций снова позволит нам вывести в терминал искомую длину.

 
# Python-код, возвращающий длину строки def findLen(str): counter = 0 while str[counter:]: counter += 1 return counter str = "otus" print(findLen(str))

Находим длину строки в Python: способ № 4

Теперь воспользуемся строковым методом объединения. Он принимает итеративный элемент, возвращая строку, являющуюся объединением строк в итерируемом нами элементе. Разделитель между элементами — исходная строка, для которой и вызывается метод. Применение метода объединения с последующим подсчётом объединённой строки в исходной строке тоже позволит нам получить длину строки на «Питоне».

 
# Python-код, возвращающий длину строки def findLen(str): if not str: return 0 else: some_random_str = 'py' return ((some_random_str).join(str)).count(some_random_str) + 1 str = "otus" print(findLen(str))

Как и во всех примерах выше, в консоль выведется количество символов в строе ‘otus’, равное 4. Вот и всё!

Хотите знать про Python гораздо больше? Записывайтесь на наш курс для продвинутых разработчиков:

Источник

Читайте также:  Java sqrt negative number
Оцените статью