疯狂使用python集
请看一下ipython的以下片段:疯狂使用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
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列表可能有两个副本。数据不应该有重复的,这就是为什么我没有想到这一点。我现在心平气和了:-)不应该有重复的,这就是为什么我没有想到这一点。我现在心平气和了:-)