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

如果换一种怎么不能实现

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
  • 参与学习       758625    人
  • 解答问题       8667    个

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

进入课程

如果换一种怎么不能实现

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信