Информатика, вопрос задал Аноним , 2 года назад

Python
Есть два массива:
a=[4,5,6]
b=[1,2,3]

посчитать через count к-во элементов 1 больше 2
(Масив может быть больше,мне нужно для неопределенного к-ва элементов)​

Ответы на вопрос

Ответил AleksejVer
2

Ответ:

print(len([x for x in a if b.count(x) > 2]))

Объяснение:
Метод .count у списков считает количество вхождений заданного элемента в список. Вы имеете в виду, что вам нужно посчитать кол-во элементов, число вхождений которых во втором массиве больше двух?

Тогда ответ выше: перебираем элементы заданного списка, каждый проверяем через метод .count. По заданному условию (>2) формируем новый список из удовлетворяющих этому условию элементов. Считаем длину нового списка через функцию len() и выводим в консоль через print().


AleksejVer: приведи пример. Что значит «больше элементов 2 массива»? На сколько элементов первый массив больше второго? А причём тут count() тогда? В общем, давай пример. Что есть и что должно вывести.
AleksejVer: То есть сколько элементов первого списка больше своих «братьев» (с таким же индексом) из второго? print(len([x for index, x in enumerate(a) if x > b[index]])). Функция enumerate, грубо говоря, раскладывает лист на пару «индекс / значение», позволяя в итерации простым способом узнать его индекс. Индекс — это просто порядковый номер элемента в списке.
AleksejVer: Но причём тут count я не знаю. Либо в задании ошибка, либо я слишком тупой. Метод .count у списка возвращает КОЛИЧЕСТВО ВХОЖДЕНИЙ, то есть «сколько раз элемент N встречается в списке X». Как твой учитель собирается что-то СРАВНИВАТЬ методом, который просто считает встречаемость? Я бы на твоём месте дал такой ответ (см. выше) и перед уроком показал учителю и спросил бы у него, что имелось в виду про count. Если он адекватен, он объяснит и двойку не влепит.
Новые вопросы