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

Функция len() в Python: измеряем длину (количество элементов) последовательности

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

Синтаксис

Синтаксис функции len() прост и понятен:

len(sequence)

где sequence — это последовательность, для которой требуется определить количество элементов.

Возвращаемое значение

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

Примеры подсчета количества элементов в последовательности

Число элементов в списке

my_list = [1, 2, 3, 4, 5]
list_length = len(my_list)
print(list_length)  

#5

Число элементов в кортеже

my_tuple = (1, 2, 3, 4, 5)
tuple_length = len(my_tuple)
print(tuple_length)  

#5

Число символов в строке (длина строки)

my_string = "Hello, world!"
string_length = len(my_string)
print(string_length)  

#13

Количество байтов в строке

my_string = "Привет, мир!"
string_bytes = len(my_string.encode('utf-8'))
print(string_bytes)  

#21

Число элементов в множестве

my_set = {1, 2, 3, 4, 5}
set_length = len(my_set)
print(set_length)  

#5

Число пар ключ-значение в словаре

my_dict = {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
dict_length = len(my_dict)
print(dict_length)  

#5

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

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

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

class MyCollection:
    def __init__(self, elements):
        self.elements = elements

    def __len__(self):
        return len(self.elements)

my_collection = MyCollection([1, 2, 3, 4, 5])
collection_length = len(my_collection)
print(collection_length)  

#5

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

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

Функция len() может быть использована совместно с циклами и функцией range() для итерации по элементам последовательности или доступа к элементам по индексам. Рассмотрим несколько примеров.

Использование функции len() с циклом for и функцией range()

my_list = [10, 20, 30, 40, 50]

for i in range(len(my_list)):
    print(f"Элемент с индексом {i}: {my_list[i]}")

Вывод:

Элемент с индексом 0: 10
Элемент с индексом 1: 20
Элемент с индексом 2: 30
Элемент с индексом 3: 40
Элемент с индексом 4: 50

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

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

my_list = [10, 20, 30, 40, 50]
index = 0

while index < len(my_list):
    print(f"Элемент с индексом {index}: {my_list[index]}")
    index += 1

Вывод:

Элемент с индексом 0: 10
Элемент с индексом 1: 20
Элемент с индексом 2: 30
Элемент с индексом 3: 40
Элемент с индексом 4: 50

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

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

matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

for i in range(len(matrix)):
    for j in range(len(matrix[i])):
        print(f"Элемент в строке {i} и столбце {j}: {matrix[i][j]}")

Вывод:

Элемент в строке 0 и столбце 0: 1
Элемент в строке 0 и столбце 1: 2
Элемент в строке 0 и столбце 2: 3
Элемент в строке 1 и столбце 0: 4
Элемент в строке 1 и столбце 1: 5
Элемент в строке 1 и столбце 2: 6
Элемент в строке 2 и столбце 0: 7
Элемент в строке 2 и столбце 1: 8
Элемент в строке 2 и столбце 2: 9

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

Заключение

Функция len() является полезным инструментом для работы с различными типами последовательностей и пользовательскими объектами в Python. Она позволяет быстро и просто определить количество элементов в коллекциях, упрощая разработку и повышая читаемость кода.

Содержание: