疯狂使用python集

疯狂使用python集,python,set,Python,Set,请看一下ipython的以下片段: In [122]: len(netean) Out[122]: 150 In [123]: len(nwrongpea) Out[123]: 100 In [124]: len(set.intersection(set(nwrongpea), set(netean))) Out[124]: 8 In [125]: len(set(nwrongpea) - set(netean)) Out[125]: 90 In [126]: len(set(netea

请看一下ipython的以下片段:

In [122]: len(netean)
Out[122]: 150

In [123]: len(nwrongpea)
Out[123]: 100

In [124]: len(set.intersection(set(nwrongpea), set(netean)))
Out[124]: 8

In [125]: len(set(nwrongpea) - set(netean))
Out[125]: 90

In [126]: len(set(netean) - set(nwrongpea))
Out[126]: 142
我快发疯了——既然这两个列表有8个相同的元素(基于交叉点的答案),那么[125]怎么可能返回90?那不是应该是92吗

我忘了集合论中的一些东西了吗

谢谢

看起来这些集合中有一个(或两个)有一些重复的元素。因此,从中创建集合可以使集合的元素数减少


尝试
len(set(natean))+len(set(nwrongpea))
你会看到。

实际上有10个副本:(A u B)=(A-B)+(A!u B)+(B-A)。在这种情况下(A u B)=90+8+142=2404谢谢你的回答!我现在没有数据,但nwrongpea列表可能有两个副本。数据不应该有重复的,这就是为什么我没有想到这一点。我现在心平气和了:-)不应该有重复的,这就是为什么我没有想到这一点。我现在心平气和了:-)