python - 疯狂使用 python 集

标签 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(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/

相关文章:

Python:无法从 FileStorage 对象读取

java - 在java中将列表转换为逗号分隔字符串的最佳方法

java - HashSet 与 ArrayList

python - 在BeautifulSoup4,Python3中,如何停止在找到的标签内递归?

php - MySQL,如何为 SET 列选择所有可能的值

javascript - 如何设置 5 秒后特定功能的间隔

java - 在 Java 中可以将列表添加到集合中,但在 Python 中则不行?

python - 带唤醒词的 Google Python 语音识别

python - 在 python 中计算到你下一个生日的天数

python - 构建具有外部依赖项的库 -- pep8