These aren't really good examples in my opinion. The "condensed" version is not better, because it makes one thing much worse: it is now hard to change the contents of the loop.
Especially when working with larger data sets, you need to be able to do whatever is necessary within a single loop over the data, to avoid lousy runtime. In the article's example, by automatically filtering out even numbers to do ONE operation, it is now very hard to modify that loop to perform other operations on numbers that may not be even.
In my practical experience, a "real" for-loop is almost always more flexible and valuable, and is just as clear.