Yet the author points out that not everyone will appreciate the blocks.. even though the Python variant is using much the same thing, just as an explicit lambda.
In what universe is the Python variant make readable? The variable name is repeated (not very OO like) and there's more syntactic salt and verbosity.
And in reasonably idiomatic recent Python, the whole thing'd be:
#!/usr/bin/env python
import fileinput
import csv
EMAIL, CONTACTME, SKUTITLE = 17, 27, 34
tsl = csv.reader(fileinput.input(), dialect='excel-tab')
for line in sorted([r[SKUTITLE], r[CONTACTME], r[EMAIL]] for r in tsl
if r[CONTACTME] == "1"):
print "\t".join(line)
It's going to be good in any language though, isn't it?
In what universe is the Python variant make readable? The variable name is repeated (not very OO like) and there's more syntactic salt and verbosity.