You can use the zip function to loop through 2 collections.<p>`for (l, r) in zip(c1, c2) {`<p>It is not simply motivated by making code concise, I would say `for num in collection.reverse()` is less error prone and clearer than `for (var i = collection.count; i &gt;= 0; i--) { var num = collection[i] ... }`<p>The reverse collection iterator is computed lazily too, so there is no little perf overhead