为了账号安全,请及时绑定邮箱和手机立即绑定

如果换一种怎么不能实现

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for name2 in L:

    names = name2

    for name1 in s:

        if name1 == names:

            s.remove(name1)

        else:

            s.add(name1)

print s


正在回答

2 回答

对,有双层迭代,迭代S的时候会报错,不能在迭代的时候增加或移除元素,报RuntimeError: Set changed size during iteration。

在循环一个列表的时候,不能改变列表的大小和量。双层迭代的结果是要改变第一个列表的量,这个是不允许的,因为第一个列表还没循环完。

0 回复 有任何疑惑可以回复我~

这里面有双层迭代吧,在迭代S的时候会报错吧,不能在迭代的时候增加或移除元素,会报这个错误

Set changed size during iteration


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758363    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

如果换一种怎么不能实现

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号