4 ms·
For those confused - the visual part is done in a GIF (i.e. http://treyhunner.com/images/list-comprehension-condition.gif http://treyhunner.com/images/list-comp
by tsurantino 11y ago
For those confused - the visual part is done in a GIF (i.e. http://treyhunner.com/images/list-comprehension-condition.gif http://treyhunner.com/images/list-comprehension-condition.gi...).
I think animating the transformation from a normal loop to a list comprehension is a great way to show how the syntax translates between the two forms. Very awesome and comprehensive post.
- hatmatrix 11y agoMaybe I'm an FP snob but it would have been nice to mention the analogy to set builder notation (though lists aren't sets - maybe multisets or bags) to indicate the existence of higher abstraction; not just syntactic sugar on the for-loop. However, from a practical point of view I think it is great introduction for procedural programmers to begin using list comprehensions.
- deleted 11y ago[deleted]
- msellout 11y agocollections.Counter was designed with multiset in mind.
- dragonwriter 11y ago> though lists aren't sets - maybe multisets or bags arrays/lists (like maps/hashes, though with a more narrow restriction on the indices) are (or at least are isomorphic to) sets of pairs of (index, element). They carry information about order which does not exist in multisets/bags.