- Функция len() в Pyhton
- Функция len() в действии
- Что собой представляет функция len() в Python?
- Как применяется функция len()
- Использование функции len() со встроенными последовательностями
- Использование функции len() со встроенными коллекциями
- Пример 1. Определение длины коллекции, сгенерированной при помощи модуля random
- Пример 2. Определение количества элементов в словаре
- Использование функции len() с другими встроенными типами данных
- Использование функции len() со сторонними библиотеками
- Пример 1. Использование функции len() с массивом NumPy
- Пример 2. Использование функции len() с Pandas DataFrame
- Использование функции len() в пользовательских классах
- Заключение
- How to calculate the length of an array in Python?
- Table of contents
- Length of array
- Finding the length of an array using the len() function
- Syntax:
- Input:
- Output:
- Using Numpy to find the length of an array in Python
- Syntax:
- Input:
- Output:
- Closing thoughts
Функция 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__() );
How to calculate the length of an array in Python?
An array is not a built-in data type in Python, but we can create arrays using third-party libraries. By length of an array, we mean the total number of elements or items in the given array. In order to calculate the length of an array, we can use various methods discussed below in this blog.
Table of contents
- Length of array
- Finding the length of an array using the len() function
- Using Numpy to find the length of an array in Python
- Closing thoughts
Length of array
In Python, an array is a collection of items stored at contiguous memory locations. It is a special variable, which can hold more than one value with the same data type at a time. We know array index starts from 0 instead of 1, therefore the length of an array is one more than the highest index value of the given array.
Finding the length of an array using the len() function
To find the length of an array in Python, we can use the len() function. It is a built-in Python method that takes an array as an argument and returns the number of elements in the array. The len() function returns the size of an array.
Syntax:
Input:
arr = [0, 1, 2, a, 4] print ("The given array is: ") print (arr) # Finding length of the given array size = len(arr) print ("The length of array is: ") print (size)
Output:
The given array is: [0, 1, 2, a, 4] The length of array is: 5
Using Numpy to find the length of an array in Python
Another method to find the length of an array is Numpy «size». Numpy has a size attribute. The size is a built-in attribute that returns the size of the array.
Syntax:
Input:
import numpy as np arr = np.array([0, 1, 2, a, 4]) print ("The given array is: ") print (arr) # Finding length of the given array size = arr.size print ("The length of array is: ") print (size)
Output:
The given array is: [0, 1, 2, a, 4] The length of array is: 5
Closing thoughts
Unlike other programming languages like JavaScript, PHP or C++, Python does not support «length()» or «size()» functions to find the length of an array. The len() function takes the array as a parameter and returns the size. One can read more about other Python concepts here.