鱼C论坛

 找回密码
 立即注册
查看: 2443|回复: 5

[技术交流] for语句,为什么只循环2次就不循环了?

[复制链接]
发表于 2020-5-28 16:00:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么只循环2次就不循环了?

>>> mi = ['6h06201ua0', '4h06204ra0', '2h27106na0', '2h06206ta2']
>>> mi
['6h06201ua0', '4h06204ra0', '2h27106na0', '2h06206ta2']
>>> silk
['2h06206ta2', '2h27106na0', '4h06204ra0', '6h06201ua0']
>>> m = mi.copy()
>>> for i in m:
        print('For i:',i)
        if i in silk:
                print('IN silk I:',i)
                m.remove(i)
                print('List M:',m)

               
For i: 6h06201ua0
IN silk I: 6h06201ua0
List M: ['4h06204ra0', '2h27106na0', '2h06206ta2']
For i: 2h27106na0
IN silk I: 2h27106na0
List M: ['4h06204ra0', '2h06206ta2'][/code]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-28 16:20:44 | 显示全部楼层
本帖最后由 heidern0612 于 2020-5-28 16:38 编辑

因为你针对的是复制列表的操作,应该针对原始列表。

虽然你复制了一份列表,但是你下面操作的还是复制的列表。

推荐复制列表操作的本来意思是,让你for循环原列表,操作复制列表。

而你是复制了一份列表,操作的还是复制列表,这跟for循环原列表,操作原列表有区别吗?


一边for循环,一边删元素,可是很危险的,谁也不知道会出啥状况。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-5-29 08:47:29 | 显示全部楼层
heidern0612 发表于 2020-5-28 16:20
因为你针对的是复制列表的操作,应该针对原始列表。

虽然你复制了一份列表,但是你下面操作的还是复制的 ...

不复制结果也是一样, 只循环2次.
>>> a = ['6h06201ua0', '4h06204ra0', '2h27106na0', '2h06206ta2']
>>> b = ['6h06201ua0', '4h06204ra0', '2h27106na0', '2h06206ta2']
>>> for i in a:
        if i in b:
                a.remove(i)

                
>>> a
['4h06204ra0', '2h06206ta2']
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 09:03:14 | 显示全部楼层
Nate_2020 发表于 2020-5-29 08:47
不复制结果也是一样, 只循环2次.

???

不是说了不能一边for循环一边删除元素么?

你这不还是for循环的a,然后下面删的a么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-29 09:04:28 | 显示全部楼层
Nate_2020 发表于 2020-5-29 08:47
不复制结果也是一样, 只循环2次.

还是说你想表达下面这个意思?

a删没了,b剩下4个。
a = ['6h06201ua0', '4h06204ra0', '2h27106na0', '2h06206ta2']
b= a[::]

for i in b:
    if i in a:
        a.remove(i)

print(a)
print(b)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-12 14:02:00 | 显示全部楼层
谢谢,明白了, 不要修改正在for的列表.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 19:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表