疯狂地使用 python 集

发布于 2024-12-04 19:57:57 字数 429 浏览 2 评论 0原文

请看一下 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吗?

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

谢谢 !

Please take a look at the following snippet from 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

I am going crazy - since these two lists have the 8 elements in common (based on what intersection answers), how is it possible that [125] returns 90 ? Shouldn't that be 92 ?

Have I forgotten something from set theory ?

Thanks !

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

汐鸠 2024-12-11 19:57:57

看起来这个集合中的一个(或两个)有一些重复的元素。因此,从它们创建集合可以为您提供元素数量较少的集合。

尝试 len(set(natean)) + len(set(nwrongpea)) ,您就会看到。

It looks like one(or two) of this collections have some duplicate elements. So creating sets from them gives you sets with less number of elements..

Try len(set(natean)) + len(set(nwrongpea)) and you'll see.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文