Python__for循环和列表生成式的区别
程序员文章站
2022-05-11 13:18:44
话不多,上例子 没什么问题,每次循环都要修改一次列表, 下个例子 .....不想说话,这个坑踩了俩回了= = 原因是等号= 这个东西右边东西计算完成之后才会赋值(引用)给左边... 第一个例子每次循环都有一个赋值语句: L[i] = L[i] + L[i-1] 而下边这个列表生成式需要全部生成完之后 ......
话不多,上例子
>>> 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]
而下边这个列表生成式需要全部生成完之后才会赋值给左边- -
啊- . - ..........