range和xrange这两个输出的结果都是一样的,但是range会直接生成一个list对象,而xrange则不会直接生成一个list,而是每次调用返回其中的一个值。第二行sum里面的List写法是列表推导式,就是对L进行循环的结果,自身进行相乘。[i*i for i in L]和是下面代码的简化结果:
for i in L:
return i * i
range()直接生成一个list,xrange()并不立即生成一个list,二者的功能是一致的。[i*i for i in L]参见列表生成这一节http://www.imooc.com/code/3541 i*i其实就相当于list[]中每一个元素的表达式,for i in L则相当于i的取值范围