Re:The Yoda of Silicon Valley
by mkl on Tuesday December 18, 2018 @07:50AM
(#18706087)
Python is relatively short, batteries included and all that:
Three times the character count of the Unix pipe version, but IMHO a lot more readable (and generalisable).
[ Parent
| on HN ]
You don't want to read all input into memory first.
Fair enough.
import re
import sys
import collections
c = collections.Counter()
for line in sys.stdin:
words = re.findall('[a-z]+', line.lower())
c.update(words)
for word, count in c.most_common(int(sys.argv[1])):
print(f'{count:>7} {word}')