问答详情
源自:8-4 Python删除set元素

练习题哪位大佬解释下啊?没看明白啊,答案 item啥意思啊?最后不该输出item吗?怎么输出S了

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

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

for item in L:

    if item in S:

        S.remove(item)

    else:

        S.add(item)

print(S) # ==> set([2, 4, 6, 8, 10])


提问者:芒果不忙_ 2022-03-03 14:33

个回答

  • weixin_慕少4178098
    2023-02-10 15:01:57

    item的意思是项目,在代码中表示一个变量,

    为什么不输出item,而输出S,是因为你的目的是删除增加表里的数据,看的是整个S表而不是单独的某个变量

  • 金思录
    2022-03-04 18:09:17

    答案里的item是随意定义的一个变量名,你可以把item换成A、B、c、d都可以。

    for item in L #将L中的每个元素依次赋予item这个变量,相当于第一次循环item=1,第二次循环item=2.....

        if item in S:  #如果item的值在S中

            S.remove(item) #那么就在S中移除item的值,那么在第一次循环中可以看到1确实在S中,所以在S中移除1

        else:    #如果item的值不在S中

            S.add(item)  #那么就在S中添加item的值,那么第一次循环肯定不执行这个add

    print(S)    #题目要求你得出增增减减后的S,那肯定得输出S啊。

    比如:

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

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

    for A in L:

        if A in S:

            S.remove(A)

        else:

            S.add(A)

    print(S)

    得出的结果一模一样