Why is number 1 better than just:
[x*2 for x in range(1, 11)] [x*2 for x in range(1, 11)] [x in tweet.split() for x in wordlist]
Seems better to me than map(lambda x: x in tweet.split(),wordlist)
Although the natural thing for me to do would be [x for x in wordlist if x in tweet]
Which both generates a list of words instead of booleans(['scala', 'sbt'] instead of [True, False, False, False, False]) and also matches the 'sbt' in tweet. set(tweet.split()) & set(wordlist) 2 * numpy.arange(1, 11)
The usual notation for working with elements of vector spaces is nice when working with arrays of numbers.