“的行为;及;在Python中使用集合

“的行为;及;在Python中使用集合,python,set,Python,Set,我知道如果我想得到两个集合(或冻结集合)的交集,我应该使用符号和&。出于好奇,我试着用“和”这个词 a = set([1,2,3]) b = set([3,4,5]) print(a and b) #prints set([3,4,5]) 我只是好奇为什么?当与列表一起使用时,此和表示什么?x和y只将整个x和y表达式视为布尔值。如果x为false,则返回x。否则,它将返回y。有关详细信息,请参阅 sets(如您的示例所示)和lists(如您的问题所示)都是false,当且仅当它们为空时。有关详

我知道如果我想得到两个集合(或冻结集合)的交集,我应该使用符号和
&
。出于好奇,我试着用“和”这个词

a = set([1,2,3])
b = set([3,4,5])
print(a and b) #prints set([3,4,5])

我只是好奇为什么?当与列表一起使用时,此
表示什么?

x和y
只将整个
x
y
表达式视为布尔值。如果
x
为false,则返回
x
。否则,它将返回
y
。有关详细信息,请参阅

set
s(如您的示例所示)和
list
s(如您的问题所示)都是false,当且仅当它们为空时。有关详细信息,请参见


因此,
x和y
如果为空,则返回
x
,否则返回
y

简洁明了stated@JonClements:事实上,看看这些文档,它们更漂亮、更简洁
x和y
定义为“如果
x
为假,则
x
,否则
y
”。这就是我要说的,谢谢。只需等待10分钟就可以接受答案:)@thewolf:Good addition;让我把这个链接也添加到答案中。