persons = [person for person in (Person(name) for name in names) if person.isValid()]
[person
It's almost like a select query in (pseudo) SQL.
select person from people where person.isvalid = true
[person for person in people if person.isvalid]