最后一行在以下代码中是什么意思?
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])
我对问题的尝试:
也许最好用一个例子来解释:
print “”.join([e[1] * e[0] for e in elt]) 是…的缩写
x = [] for e in elt: x.append(e[1] * e[0]) print “”.join(x) 列表推导只是for循环的语法糖,它使语句根据一系列语句进行表达。
elt可以是任意对象,因为您是从泡菜中加载的,e同样如此。用法表明它是一种序列类型,但是可以是实现序列协议的任何东西。