Количество элементов в последовательности или коллекции.
Синтаксис:
len(s)
Параметры:
- s — последовательность или коллекция.
Возвращаемое значение:
Описание:
Функция len() возвращает длину (количество элементов) в объекте.
Аргумент может быть последовательностью, такой как строка, байты, кортеж, список или диапазон или коллекцией (такой как словарь, множество или неизменяемое множество).
Когда объект является строкой, функция len() возвращает количество символов в строке (строка представляет собой частный случай кортежа Python).
Пользовательские типы данных могут определять метод __len__() , значение из которого, будет возвращено при вызове функции len() .
Примеры подсчета количества элементов в последовательности.
Что можно подсчитать:
- число элементов в списке;
- число элементов в кортеже;
- число символов в строке (длина строки);
- количество байтов в строке;
- число элементов в множестве;
- число пар ключ-значение в словаре;
Подсчет элементов списка.
# подсчет количества элементов списка >>> mylist = [‘apple’, ‘banana’, ‘cherry’] >>> len(mylist) # 3
Подсчет количества символов в строке (длина строки).
# подсчет символов в строке >>> string = ‘Hello’ >>> len(string) # 5 >>> len(‘абракадабра’) # 11
Подсчет количества байтов в строке.
Подсчет количества слов и символов на python | 005
# подсчет символов в строке >>> line_en = ‘Hello’.encode(‘utf-8’) >>> line_ru = ‘Привет’.encode(‘utf-8’) >>> len(line_en) # 5 >>> len(line_ru) # 12
Подсчет количества ключей словаря.
# подсчет количества ключей словаря. >>> d = ‘a’: 1, ‘b’: 1, ‘c’: 1, ‘d’: 1> >>> keys = list(d) >>> len(keys) # 4
Другие паттерны использования функции len() .
Проверка списка на дублирующие значения:
Чтобы проверить уникальность значений списка достаточно сравнить количество элементов списка с количеством элементов множества этого списка. Используя тот факт, что множество set() содержит только уникальные элементы.
>>> lst = [1, 2, 3, 4, 5, 6] # список с уникальными значениями >>> len(lst) == len(set(lst)) # True >>> lst.append(3) >>> lst # [1, 2, 3, 4, 5, 6, 3] # в списке есть повторы >>> len(lst) == len(set(lst)) # False
Использование функции len() для подчеркивания строки:
>>> mystr = «Привет Python!» >>> underline = ‘-‘ * len(mystr) >>> print(f’mystr>nunderline>’) # Привет Python! # —————
Использование функции len() в итерации по индексам последовательности:
Это пример — как один из вариантов получения индексов элементов списка. Конечно, для этой цели лучше использовать встроенную функцию enumerate() , т.к. сразу можно получить и индекс элемента и его значение.
Python Задача: Подсчитать и вывести количество гласных
>>> mylist = [‘apple’, ‘banana’, ‘cherry’, ‘pear’, ‘plum’] >>> for i in range(len(mylist)): . print(i, mylist[i]) . # 0 apple # 1 banana # 2 cherry # 3 pear # 4 plum
Использование встроенной функции enumerate() для получения индексов элементов:
>>> mylist = [‘apple’, ‘banana’, ‘cherry’, ‘pear’, ‘plum’] >>> for i, item in enumerate(mylist): . print(i, item) . # 0 apple # 1 banana # 2 cherry # 3 pear # 4 plum
По индексам последовательности, конечно удобнее итерироваться при помощи функции enumerate() .
Подсчет количества цифр в числе (длина числа)
Для того, чтобы посчитать количество цифр в числе необходимо сначала перевести число float или int в любую последовательность, например в строку, а затем к последовательности применить функцию len() , что бы получить количество элементов.
Для получения строкового представления объектов float и int , применим к ним функцию str.
Пример получения длины целого числа:
# получение длины целого числа >>> x = 1235412687 >>> str_x = str(x) >>> str_x # ‘1235412687’ >>> num_x = len(str_x) >>> num_x # 10
Так как вещественные числа в Python имеют запятую, то количество цифр в числе float будет на 1 меньше, а именно len(str(float)) — 1 .
Пример получения длины вещественного числа:
# получение длины вещественного числа >>> x = 0.1230541287 # запишем преобразования короче >>> num_x = len(str(x)) — 1 >>> num_x # 11
Чтобы получить количество уникальных цифр в числе, необходимо строковое представление числа преобразовать в множество set , т.к. множество представляет собой последовательность неповторяющихся элементов.
Пример подсчета уникальных цифр в числах float и int :
# получение кол-ва уникальных цифр целого числа >>> x = 1235412687 # получаем строковое представление >>> str_x = str(x) # получаем множество уникальных цифр числа >>> set_x = set(str_x) # # считаем кол-во уникальных цифр >>> num_x = len(set_x) >>> num_x # 8 # для получения кол-ва уникальных цифр # числа `float` сделаем запись короче >>> x = 0.1230541287 # количество уникальных цифр числа `float` # будет на 1 меньше, т.к. число имеет разделитель >>> num_x = len(set(str(x))) — 1 # 8
- ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
- Функция abs(), абсолютное значение числа.
- Функция all(), все элементы True.
- Функция any(), хотя бы один элемент True.
- Функция ascii(), преобразует строку в ASCII.
- Функция bin(), число в двоичную строку.
- Класс bool(), логическое значение объекта.
- Функция breakpoint(), отладчик кода.
- Класс bytearray(), преобразует в массив байтов.
- Класс bytes(), преобразует в строку байтов.
- Функция callable(), проверяет можно ли вызвать объект.
- Функция chr(), число в символ Юникода.
- Класс classmethod, делает функцию методом класса.
- Функция compile() компилирует блок кода Python.
- Класс complex(), преобразует в комплексное число.
- Функция delattr(), удаляет атрибут объекта.
- Класс dict() создает словарь.
- Функция dir(), все атрибуты объекта.
- Функция divmod(), делит числа с остатком.
- Функция enumerate(), счетчик элементов последовательности.
- Функция eval(), выполняет строку-выражение с кодом.
- Функция exec(), выполняет блок кода.
- Функция filter(), фильтрует список по условию.
- Класс float(), преобразует в вещественное число.
- Функция format(), форматирует значение переменной.
- Класс frozenset(), преобразует в неизменяемое множество.
- Функция getattr(), значение атрибута по имени.
- Функция globals(), переменные глобальной области.
- Функция hasattr(), наличие атрибута объекта.
- Функция hash(), хэш-значение объекта.
- Функция help(), справка по любому объекту.
- Функция hex(), число в шестнадцатеричную строку.
- Функция id(), идентификатор объекта.
- Функция input(), ввод данных с клавиатуры.
- Класс int(), преобразует в тип int.
- Функция isinstance(), принадлежность экземпляра к классу.
- Функция issubclass(), проверяет наследование класса.
- Функция iter(), создает итератор.
- Функция len(), количество элементов объекта.
- Класс list(), преобразовывает в список.
- Функция locals(), переменные локальной области.
- Функция map(), обработка последовательности без цикла.
- Функция max(), максимальное значение элемента.
- Класс memoryview(), ссылка на буфер обмена.
- Функция min(), минимальное значение элемента.
- Функция next(), следующий элемент итератора.
- Класс object(), возвращает безликий объект.
- Функция oct(), число в восьмеричную строку.
- Функция open(), открывает файл на чтение/запись.
- Функция ord(), число символа Unicode.
- Функция pow(), возводит число в степень.
- Функция print(), печатает объект.
- Класс property(), метод класса как свойство.
- Класс range(), генерирует арифметические последовательности.
- Функция repr(), описание объекта.
- Функция reversed(), разворачивает последовательность.
- Функция round(), округляет число.
- Класс set(), создает или преобразовывает в множество.
- Функция setattr(), создает атрибут объекта.
- Класс slice(), шаблон среза.
- Функция sorted(), выполняет сортировку.
- Декоратор staticmethod(), метод класса в статический метод.
- Класс str(), преобразует объект в строку.
- Функция sum(), сумма последовательности.
- Функция super(), доступ к унаследованным методам.
- Класс tuple(), создает или преобразует в кортеж.
- Класс type(), возвращает тип объекта.
- Функция vars(), словарь переменных объекта.
- Функция zip(), объединить элементы в список кортежей.
- Функция __import__(), находит и импортирует модуль.
- Функция aiter(), создает асинхронный итератор.
- Функция anext(), следующий элемент асинхронного итератора.
Источник: docs-python.ru
Подсчет количества символов в строке на Python
Часто возникает задача подсчета количества определенных символов в строке. Например, необходимо узнать, сколько раз буква ‘b’ встречается в строке ‘Боб был мальчиком, который любил бегать по берегу’.
Python предоставляет несколько простых способов для решения этой задачи.
Использование метода count()
Самый простой и прямой способ — использование встроенного метода count() . Этот метод принимает один аргумент — символ, который нужно найти, и возвращает количество его вхождений в строку.
s = ‘Боб был мальчиком, который любил бегать по берегу’ print(s.count(‘б’)) # Выведет: 5
Использование цикла for
Если по каким-то причинам использование count() недоступно или нежелательно, можно использовать цикл for для прохода по всем символам строки и подсчета нужных.
s = ‘Боб был мальчиком, который любил бегать по берегу’ count = 0 for letter in s: if letter == ‘б’: count += 1 print(count) # Выведет: 5
Использование генераторов списков
Также можно использовать генераторы списков — это выразительный и компактный способ решения этой задачи.
s = ‘Боб был мальчиком, который любил бегать по берегу’ count = sum(1 for letter in s if letter == ‘б’) print(count) # Выведет: 5
Все эти методы вернут одинаковое количество вхождений символа в строке. Выбор метода зависит от конкретной ситуации и личных предпочтений.
Источник: sky.pro
Python: подсчет количества символов (частоты символов) в строке
Напишите программу на Python для подсчета количества символов (частоты символов) в строке.
Пример решения : —
Код Python:
def char_frequency(str1): dict = <> for n in str1: keys = dict.keys() if n in keys: dict[n] += 1 else: dict[n] = 1 return dict print(char_frequency(‘google.com’))
Блок — схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Каков уровень сложности этого упражнения?
Источник: www.kodesource.top