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

来源:8-4 Python删除set元素

weixin_慕盖茨3161772

2021-05-31 18:57

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回答

  • 小白白白净
    2021-06-01 18:30:06
    已采纳

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

  • 精慕门5008193
    2021-06-01 11:26:39

    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)


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

    weixin...

    多了一个for循环导致的,去掉一个就好了

    2021-10-08 21:12:20

    共 1 条回复 >

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

154157 学习 · 1075 问题

查看课程

相似问题