Одинаковая чётность

Реализуйте функцию same_parity_filter, которая принимает на вход список и возвращает новый список, состоящий из элементов, у которых такая же чётность, как и у первого элемента исходного списка.

Примеры
>>> same_parity_filter([])
[]
>>> same_parity_filter([2, 0, 1, -3, 10, -2])
[2, 0, 10, -2]
>>> same_parity_filter([-1, 0, 1, -3, 10, -2])
[-1, 1, -3]
def same_parity_filter(sp:list) ->list:
    base_sp=[]
    if sp[0]%2 ==0:
        for i in sp:
            if i%2 == 0:
                base_sp.append(i)
    else:
        for i in sp:
            if i%2 != 0:
                base_sp.append(i)
    return base_sp

print(same_parity_filter([-1, 0, 1, -3, 10, -2]))