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

下面代码为什么会出问题

# Enter a code
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
if s1.isdisjoint(s2)<>True:
    for num2 in s2:
        for num1 in s1:
            if num1<>num2:
                s1.remove(num1)
                s2.remove(num2)
            else:
                print(num1)
else:
    print('两集合无重合')

正在回答

6 回答

在s1、s2迭代的时候,你不能从中删除元素

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

s1 = set([1, 2, 3, 4, 5])

s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])

print(s1&s2)

集 & : x&y,返回一个新的集合,包括同时在集合 x 和y中的共同元素。

并集 | : x|y,返回一个新的集合,包括集合 x 和 y 中所有元素。

差集 - : x-y,返回一个新的集合,包括在集合 x 中但不在集合 y 中的元素。

补集 ^ : x^y,返回一个新的集合,包括集合 x 和 y 的非共同元素。

这个教程 感觉整些没用的啊

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

幕布斯6178042

这是入门教程啊 兄弟
2021-04-20 回复 有任何疑惑可以回复我~
#2

幕布斯6178042 回复 幕布斯6178042

不过你写的这些有用,我学到了
2021-04-20 回复 有任何疑惑可以回复我~
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
print(s1.intersection(s2))

三行代码搞定

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

s1 = set([1, 2, 3, 4, 5])

s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])

print(s1.intersection(s2))


三行代码搞定

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

if条件怕判断部分有问题“<>”

0 回复 有任何疑惑可以回复我~
s1 = set([1, 2, 3, 4, 5])
s2 = set([1, 2, 3, 4, 5, 6, 7, 8, 9])
if not s1.isdisjoint(s2):
    for num2 in s2:
        for num1 in s1:
            if num1 != num2:
                s1.remove(num1)
                s2.remove(num2)
            else:
                print(num1)
else:
    print('两集合无重合')

没有<> 用 != 或者not

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

举报

0/150
提交
取消

下面代码为什么会出问题

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