Python__for循环和列表生成式的区别

2018-06-23 13:32:13来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

话不多,上例子

>>> L = [1,1,1]
>>> for i in range(len(L)):
    L[i] = L[i] + L[i-1]
    print(L)

#结果    
[2, 1, 1]
[2, 3, 1]
[2, 3, 4]

没什么问题,每次循环都要修改一次列表,

下个例子

>>> L = [1,1,1]
>>> L = [L[i]+L[i-1] for i in range(len(L))]
>>> L
[2, 2, 2]

.....不想说话,这个坑踩了俩回了= =  原因是等号= 这个东西右边东西计算完成之后才会赋值(引用)给左边...

第一个例子每次循环都有一个赋值语句:

L[i] = L[i] + L[i-1] 

而下边这个列表生成式需要全部生成完之后才会赋值给左边- -

啊- . - ..........

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python学习-序列排序

下一篇:pythonweb服务器编程(三)