Перейти к содержимому

Как посчитать количество элементов в списке python

  • автор:

Определить, сколько элементов списка содержат по 3 слова, по 2 и по одному

Есть список. Надо определить, сколько элементов с 3 словами, с 2-мя и одним. Моя мысль такова: Если три слова в элементе, то два пробела. Если 2 слова, то пробел один. Но вот, незадача Я пробовал условием искать пробел, но выходит найти только один и в итоге возвращает тот же список, потому что дин пробел имеют все элементы. Как составить проверку, чтобы питон искал 2 пробела или один. Или возможно нужно выбрать другой критерий сортировки? Помогите плиз

Отслеживать

47.8k 17 17 золотых знаков 56 56 серебряных знаков 100 100 бронзовых знаков

Функция len() в Python, количество элементов объекта

Количество элементов в последовательности или коллекции

Синтаксис:
len(s) 
Параметры:
  • s — последовательность или коллекция.
Возвращаемое значение:
Описание:

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

Аргумент может быть последовательностью, такой как строка, байты, кортеж, список или диапазон или коллекцией (такой как словарь, множество или неизменяемое множество).

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

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

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

Что можно подсчитать:

  • число элементов в списке;
  • число элементов в кортеже;
  • число символов в строке (длина строки);
  • количество байтов в строке;
  • число элементов в множестве;
  • число пар ключ-значение в словаре;

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

# подсчет количества элементов списка >>> mylist = ['apple', 'banana', 'cherry'] >>> len(mylist) # 3 

Подсчет количества символов в строке (длина строки).

# подсчет символов в строке >>> string = 'Hello' >>> len(string) # 5 >>> len('абракадабра') # 11 

Подсчет количества байтов в строке.

# подсчет символов в строке >>> 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() , т.к. сразу можно получить и индекс элемента и его значение.

>>> 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(), следующий элемент асинхронного итератора

Вывести количество чисел списка больших 10

Посчитать количество чисел списка, больших 5.
Дан массив N, N вводится с клавиатуры. Посчитать количество чисел, больших 5.

Вывести среднее значение массива и количество чисел больших среднего арифметического
Дан линейный массив целых чисел. Вывести среднее значение массива и количество чисел больших.

Найти количество элементов списка, больших среднего арифметического
Дан массив. Найти количество элементов, значение которых больше среднего арифметического.

Подсчитать количество элементов, больших значения t и первым вывести массив, имеющий наименьшее их количество
Написать пользовательскую функцию, решающую указанную ниже задачу. Массивы А и В динамические.

4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949

from random import randint print(sum([randint(1,50) > 10 for _ in range(13)]))

Am I evil? Yes, I am!

Эксперт PythonЭксперт Java

16119 / 9755 / 2730
Регистрация: 21.10.2017
Сообщений: 21,624
Semen-Semenich, с тем же успехом можно написать и так

print(randint(1, 13))

Эксперт функциональных языков программированияЭксперт Python

35345 / 19945 / 4179
Регистрация: 12.02.2012
Сообщений: 33,093
Записей в блоге: 13

1 2 3 4 5 6 7 8 9 10 11 12 13 14
from random import randint def make_list(n): return [randint(1,20) for _ in range(n)] def counter(arr): c=0 for a in arr: c = c+(1 if a > 10 else 0) return c x=make_list(100) print(x) print("к-во чисел, больших 10 =",counter(x))

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Вывести индексы элементов списка больших заданного значения
Дан массив из n элементов. Необходимо вывести индексы тех элементов, значения которых больше.

Найти используя do while сумму чисел больших числа x и количество четных чисел
Дана непустая последовательность чисел, оканчивающаяся нулём. Найти: а) сумму всех чисел.

Найти в массиве чисел количество чисел, больших предыдущих элементов массива
Найти в массиве чисел количество чисел, больших предыдущих элементов массива.

В массиве целых чисел подсчитать количество нечётных положительных чисел, больших 50
В массиве целых чисел подсчитать количество нечётных положительных чисел, больших 50. Вывести.

Из N вещественных чисел определить количество чисел, больших своих соседей
Задана последовательность(одномерный массив) из n вещественных чисел. Определить количество чисел.

В массиве из N чисел определить количество чисел больших их среднего значения
В массиве из N чисел определить количество чисел больших их среднего значения

Количество уникальный элементов в списке

Определить в списке количество четных элементов и количество элементов, оканчивающихся на цифру 5
Дан список целых чисел. Определить количество четных элементов и количество элементов.

Подсчитать количество элементов в списке, подсчитать количество уникальных элементов в списке
Добрый день (вечер). Помогите пожалуйста написать на Prolog 8 такую вот задачку: Подсчитать.

Оставить в списке ТОЛЬКО уникальный элемент
Я хочу убрать абсолютно все дублирующиеся элементы списка Ввод: a = Вывод 4 То есть.

Количество элементов в списке
Здравствуйте, имеется список такого вида . ] Он такой, ибо это запись вершин дерева по уровням.

4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949

count или dict вам помогут. вся задача сводится посчитать элементы которые встречаются в списке один раз

192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
Сделать из списка множество set(). Потом посмотреть его длину.
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
menreiven, а как это вам поможет найти уникальные элементы?
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
Semen-Semenich, Так вопрос был сколько уникальных элементов.

ЦитатаСообщение от s4meone Посмотреть сообщение

как узнать, сколько элементов в списке уникальны
А множество содержит не повторяющиеся элементы.

d = [1, 2, 4, 5, 1, 5, 6, 6] print(len(set(d)))

4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949

1 2 3 4 5 6 7
>>> a = [1, 1, 2, 3, 3, 4, 5] >>> b = set(a) >>> len(a) - len(b) 2 >>> len(b) 5 >>>

может я не так что понял но мне это ничего не дало уникальных элементов 3 — 2,4,5

Добавлено через 1 минуту

1 2 3
>>> print(len(list(filter(lambda x : a.count(x) == 1, a)))) 3 >>>

192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299
Semen-Semenich, прогоняю ваш массив

d = [1, 1, 2, 3, 3, 4, 5] print(len(set(d)))

Получаю 5 — все четко
4459 / 3212 / 1125
Регистрация: 21.03.2016
Сообщений: 7,949
menreiven, так уникальных то всего 3 или я что то не понял?
192 / 136 / 62
Регистрация: 23.05.2013
Сообщений: 299

Semen-Semenich, Нет, вы правы. Это я затупил. Бывает. Заклинило немного. Извиняюсь, что-то реально я затупил.

Добавлено через 19 минут
Еще раз прощу прощения за свой затуп. Решение в корне кривое — множество здесь не нужно. Но раз уж изначально показалось, что оно нужно, то через него сделал, чтобы как-то его использовать. А так здесь вообще без него делается все.

1 2 3 4 5 6 7 8 9
d = [1, 1, 2, 3, 3, 4, 5] d1 = set(d) print(d1) uniq = [] for i in d1: if d.count(i) == 1: uniq.append(i) print(uniq) print(len(uniq))

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Количество элементов в списке
Здравствуйте, помогите мне, пожалуйста, решить задачу на нахождение количества элементов в списке с.

Количество элементов в списке
Генерировать список длиной 100, содержащий случайные числа в диапазоне от 0 до 15. Получить в виде.

Количество четных элементов в списке
Помгите,пожалуйста,решить задачу!очень срочно! Разработать предикат, возвращающий количество.

Количество повторяющихся элементов в списке
Программа должна считывать одну строку со стандартного ввода и выводить для каждого уникального.

Количество элементов в списке типов
Правильно ли я реализовал мета функцию "Количество типов в списке типов". Каковы плюсы и минусы.

Количество положительных элементов в списке
Код должен считать количество положительных элементов в списке,не до конца понимаю зачем нам.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

https://kapelnicza.vyvod-iz-zapoya-v-stacionare-samara12.ru/