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

为什么伙会输出第一个和第三个

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

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

for a in L:

    for b in s:

        if a==b:

            s.remove(a)

            break

        else:

            s.add(a)

            break

print s


正在回答

5 回答

因为集合(set)是一个无序的不重复元素序列,所以每次运行时,s中的排序就不一样,因此得到的结果就不一样

你得到的结果只是其中一个

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

在内循环中 set的长度做了改变 所以无法实现for b in s这个遍历s

Set changed size during iteratio


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

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

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

for ys in L:

    if ys in s:

        s.remove(ys)

    else:

        s.add(ys)

print (s)


0 回复 有任何疑惑可以回复我~
s = set(['Adam', 'Lisa', 'Paul'])L = ['Adam', 'Lisa', 'Bart', 'Paul']for ys in L:    if ys in s:        s.remove(ys)    else:        s.add(ys)print (s)


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

你多运行几次程序,会发现每次打印的结果都不一样的

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

举报

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

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

进入课程

为什么伙会输出第一个和第三个

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