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])
item的意思是项目,在代码中表示一个变量,
为什么不输出item,而输出S,是因为你的目的是删除增加表里的数据,看的是整个S表而不是单独的某个变量
答案里的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)
得出的结果一模一样