我在这里观察到什么行为?
据我所知,&
是按位AND
运算符。为什么a & b
会产生一个集合?
>>> a = {1, 2, 3}
>>> b = {3, 2, 1}
>>> a & b
>>> set([1, 2, 3])
答案 0 :(得分:4)
它们不是字典,而是sets:
>>> a = {1, 2, 3}
>>> b = {3, 2, 1}
>>> type(a)
<type 'set'>
&
运算符应用于集合意味着设置intersection。
至于你的例子,结果实际上是set([1, 2, 3])
。设置a
和设置b
实际上是相同的,因为集合是无序集合:
>>> a == b
True
>>> a & b
set([1, 2, 3])
答案 1 :(得分:1)
它给出了两组的交集。
在Python中,下面的快速操作数可以用于不同的设置操作。
以下是代码:
# Program to perform different set operations
# as we do in mathematics
# sets are define
A = {0, 2, 4, 6, 8};
B = {1, 2, 3, 4, 5};
# union
print("Union :", A | B)
# intersection
print("Intersection :", A & B)
# difference
print("Difference :", A - B)
# symmetric difference
print("Symmetric difference :", A ^ B)