What does the last line mean in the following code?
import pickle, urllib handle = urllib.urlopen('http://www.pythonchallenge.com/pc/def/banner.p') data = pickle.load(handle) handle.close() for elt in data: print ''.join([e[1] * e[0] for e in elt])
My attempt to the problem:
- ”.join… uses join -method to empty text
- e[1] * e[0] multiplies two subsequent values in the sequence, e
- I am not sure what is e
- I am not sure, what it means, when you have something before for -loop, like:
e[1] * e[0] for e in elt
Maybe best explained with an example:
is the short form of
List comprehensions are simply syntactic sugar for
forloops, which make an expression out of a sequence of statements.eltcan be an arbitrary object, since you load it from pickles, andelikewise. The usage suggests that is it a sequence type, but it could just be anything that implements the sequence protocol.