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

为啥有for name in L:就行。没有这句就报错了??

s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

for name in L:

    if name in s:

       s.remove(name)

    else:

       s.add(name)

print s


s = set(['Adam', 'Lisa', 'Paul'])

L = ['Adam', 'Lisa', 'Bart', 'Paul']

    if name in s:

       s.remove(name)

    else:

       s.add(name)

print s

这两句有啥区别么,为啥两个一个可以运行,一个都运行不了??


正在回答

5 回答

可以这样理解:

先假设 name(元素)在 L 中,语法 for name in L:

如果 name(元素)同时也在 s 中,就删除 s 中的元素,语法 if ... s.remove( )

如果 name(元素)不在 s 中,就把 name(元素)加入s中,语法 else ... s.add( ) 

最后打印出结果,语法 print( )

----------------------------

最后要注意 print( ) 的缩进,不同缩进表示不同的含义,可以自己试一下。

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

name变量完全没有用上。if是不会向计算机申请变量的

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

第二段代码完全没利用L

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

先看看如何遍历容器吧。

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

for in 是对L的迭代,不断反复,把所有L中的元素取出放入name,并且进行接下来的操作。

第二种没进行迭代,没对name进行定义,肯定运行不了

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

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

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

进入课程

为啥有for name in L:就行。没有这句就报错了??

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