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

这个代码哪里有错误,为什么执行不了!请大神帮忙解答

l = [1,2,3,4,5,6,7,8,9,10]

s = set([1,3,5,7,9,11])

for i in s:
   for x in l:
       if i = = x:
           s.remove(i)
       else:
           s.add(x)
print(s)


正在回答

2 回答

遍历过程中对集合 s 执行 remove 和 add 操作会导致集合 s 的 size 发生改变。即引发RuntimeError: Set changed size during iteration异常

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

L = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

S = set([1, 3, 5, 7, 9])

for item1 in L:

    for item2 in list(S):

        if item1 == item2:

            S.remove(item1)

        else:

            S.add(item1)


print(S)


我这样改了一下,可以输出,但是还有点问题,后面准备再调试

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

weixin_慕盖茨3126952

多了一个for循环导致的,去掉一个就好了
2021-10-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个代码哪里有错误,为什么执行不了!请大神帮忙解答

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