python求列表中有多少个偶数

如何用循环求出一个任意列表中有多少个偶数,需要把所有偶数组成一个新的list,要满足列表为空列表的情况

def get_even(my_list):
    if len(my_list) == 0: return 0, []
    even_list = [i for i in my_list if i%2 == 0]
    return len(even_list), even_list

my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_qty, even_list = get_even(my_list)
print(f'列表{my_list}中有{even_qty}个偶数')
print(f'列表{my_list}中所有偶数组成的列表为:{even_list}')

用循环求是这样的:

>>> from random import randint as rnd
>>> lst1 = [rnd(0,10) for _ in range(rnd(1,101))]
>>> lst1
[6, 9, 3, 10, 4, 7, 10, 0, 6, 0]
>>> lst2 = []
>>> count = 0
>>> for i in lst1:
    if i%2==0:
        count += 1
        lst2.append(i)

        
>>> print(count, lst2)
7 [6, 10, 4, 10, 0, 6, 0]

另外除了用推导式方便求解外,还有一个filter()函数也能求解:

>>> lst1 = [6, 9, 3, 10, 4, 7, 10, 0, 6, 0]
>>> lst2 = [*filter(lambda x:not x%2,lst1)]
>>> lst2
[6, 10, 4, 10, 0, 6, 0]