You can use a generator expression:
>>> l = [1, 3, 7, 2, 6, 8, 10]
>>> sum(1 for i in l if i % 4 == 3)
2
or even
>>> sum(i % 4 == 3 for i in l)
2
which uses the fact that True == 1
and False == 0
.
Alternatively, you could use itertools.imap
(python 2) or simply map
(python 3):
>>> def my_condition(x):
... return x % 4 == 3
...
>>> sum(map(my_condition, l))
2