请查看以下来自 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))
,你会看到的。
关于python - 疯狂使用 python 集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7446198/