I am trying to find a simple and fast way of counting the number of Objects in a list that match a criteria. e.g.
class Person:
def __init__(self, Name, Age,
I prefer this:
def count(iterable):
return sum(1 for _ in iterable)
Then you can use it like this:
femaleCount = count(p for p in PeopleList if p.Gender == "F")
which is cheap (doesn't create useless lists etc) and perfectly readable (I'd say better than both sum(1 for … if …)
and sum(p.Gender == "F" for …)
).