Python

Python.Какой функцией можно вывести КОЛИЧЕСТВО четных элементов в массиве?

import random
a=[]
for i in range(10):
a.append(random.randint(5,15))
print(a)
a.insert(1,25)
print(a[1])
for i in a:
if i%2==0:
print(i)
И так в конце надо вывести КОЛИЧЕСТВО чётных чисел,подскажите какая функция есть для этого(Python)
Отфильтруй и посчитай длину, например.
 a = [1, 2, 3, 4, 5, 6, 7]
print(len(list(filter(lambda i: i % 2 == 0, a))))
Выведет 3.
Чуть более короткий вариант:
 print(len([x for x in a if x % 2 == 0])) 

А учитывая, что там ещё и цикл, можно заменить его.
Было:
 for i in a:
if i%2==0:
print(i)
Стало:
 e = [x for x in a if x % 2 == 0]
print(*e, len(e), sep = '\n')
Принт выведет сами чётные числа, по одному на строке, и отдельной строкой - их количество.

И вообще, я бы рекомендовал методом Чака Норриса переписать весь алгоритм:
 import random

a = [random.randint(5, 15) for i in range(10)]
print(*a, '', sep = '\n')

a.insert(1,25)
print(a[1], '\n')

e = [x for x in a if x % 2 == 0]
print(*e, '', len(e), sep = '\n')
Добавил в вывод пустые строки для ясности, где какие числа выводятся.
Джамал Атахаджаев
Джамал Атахаджаев
87 571
Лучший ответ
Дархан-Таттигуль Омаровы а нету такой же строки,но покороче?
 a = [1, 2, 3, 4, 5, 6, 7]
print(sum([1 - x % 2 for x in a]))
Михаил Журо Да, это точно покороче. Но у школьника чайник вскипит. :-)
руками делай
Дархан-Таттигуль Омаровы как я сделаю,когда не знаю,немного не логично? Не находите?
 import numpy as np 
a = np.random.randint(5, 15, size=10)
print(a)
print((a%2==0).sum())
# [8 3 5 2 8 3 0 7 2 6]
# 6
Tatarinov Ivan
Tatarinov Ivan
25 445
 arr = [1,2,3,4,5,6,7]
evens = 0
for i in arr:
if not i%2:
evens += 1
print(evens)
АК
Асет Кабдула
15 161
Джамал Атахаджаев Нужно больше циклов. Зачем, например, i % 2? Это слишком просто. Надо пустить цикл по всем битам, и для каждого бита проверить, младший он или нет, и равен ли нулю.
Вводи еще одну переменную как счетчик
Павел Я.
Павел Я.
2 620
Дархан-Таттигуль Омаровы а как она называется?
Павел Я. Это тебе решать
Я вот например k введу.
 k=0
for i in a:
if i%2==0:
k=k+1
print(i)
print(k)