Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 集合是无序的,但它仍然支持两个集合的减法,它在内部是如何工作的?_Python_Python 3.x_Set - Fatal编程技术网

Python 集合是无序的,但它仍然支持两个集合的减法,它在内部是如何工作的?

Python 集合是无序的,但它仍然支持两个集合的减法,它在内部是如何工作的?,python,python-3.x,set,Python,Python 3.x,Set,我们可以看到两个集合都是无序的,但是现在如果我做减法: >>> my_set = {False, 3, 4.5, 6, 'cat'} >>> your_Set = {99, 3, 100} >>> my_set {False, 3, 4.5, 6, 'cat'} >>> your_Set {3, 99, 100} 它给了我正确的结果。它是如何在内部实现的?集合减法(或任何其他集合操作)与集合内的顺序无关 A-B(或A.di

我们可以看到两个集合都是无序的,但是现在如果我做减法:

>>> my_set = {False, 3, 4.5, 6, 'cat'}
>>> your_Set = {99, 3, 100}
>>> my_set
{False, 3, 4.5, 6, 'cat'}
>>> your_Set
{3, 99, 100}
它给了我正确的结果。它是如何在内部实现的?

集合减法(或任何其他集合操作)与集合内的顺序无关

A-B
(或
A.difference(B)
),其中两个集合都是指一个集合,其元素在A中而不在B中


请参阅有关的详细信息。

集差与排序有什么关系?我知道这是我的集的差。差(你的集)也会给出相同的结果,但我试图理解python如何解释集上的减法。这可能是一个愚蠢的问题,但将有助于更好地理解python实现。python将集合上的
-
解释为集合差异。这与排序有什么关系?可能是这样的
result=copy\u of(my\u set);对于_集中的e{result.remove(e);}
这是伪代码。注意,它不依赖于排序。或者
result=empty_set();对于你的_集中的e{如果e不在你的_集中{result.add(e);}}
我知道这是我的_集中的一个差异。差异(你的_集中)也会给我相同的结果,但我试图理解python如何解释集上的减法。这可能是一个愚蠢的问题,但将有助于理解python实现better@Preeti我不知道你所说的“python如何解释集合上的减法”是什么意思。它“简单地”用a中的元素而不是B中的元素构建一个新集合。对于numpy,如果我们减去2个numpy数组,它会执行元素级减法,就像我试图理解的那样sets@Preeti
numpy
与任何事情都有什么关系
numpy
提供多维数组,而不是
set
对象。这些都是完全无关的事情。从概念上讲,
set
对象的工作方式类似于数学集合。这就是区别的意思:@Preeti你没有任何意义。已经多次向您解释了差分运算符对于集合的含义。什么,你到底不明白?
>>> my_set - your_Set
{False, 4.5, 6, 'cat'}