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

这样有什么错

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

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

for a in L:

        while a in s:

            s.remove(a)

        s.add(a)

print s



正在回答

2 回答


set(['Lisa', 'Paul', 'Adam', 'Bart'])

这个是你的答案。这里出现一个很明显的问题。 add语句在while 语句后面,这样就会出现一个状况, 不管你有没有删除重复的字样,最后出了while语句后进入add都会将 a 的值添加到s里面, 所以你的答案是4个

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

qq_慕姐6232078 提问者

我懂了,谢谢。我想问一个额外的问题,就是我的add没有缩进,所以add是不属于while循环这个代码块的?
2019-08-06 回复 有任何疑惑可以回复我~
#2

卖牙糖 回复 qq_慕姐6232078 提问者

是的,你的add属于for的代码块
2019-10-10 回复 有任何疑惑可以回复我~

while的缩进有问题吧

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

举报

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

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

进入课程

这样有什么错

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