Remember that I was talking about novice programmers, here. I'll concede that "idiomatic" was a bit strong (and the True/False thing was a brain fart), but I think my main point stands: encouraging the use of an "else:" that can attach to loops, with an unobvious and somewhat nuanced semantics, is not kind to newcomers. And the fact remains that the difference between a correct implementation and one that is wrong in exactly the way that a lot of newcomers get it wrong is nothing but indentation.
The `else` there is superfluous; that cuts it down to this:
And then after that one should just replace the entire loop with an `any` call: Also, if we assume a `matches()` that is simple equality, then it would just be … and even then, you shouldn’t have named a variable `list`.Cut down to its essence like this, the function probably shouldn’t have even existed… ☺