Python中"和"与集合的行为

yah*_*mal 8 python set

我知道如果我想得到两组(或者冷冻器)的交集,我应该使用&符号&.出于好奇,我试图使用'和'这个词

a = set([1,2,3])
b = set([3,4,5])
print(a and b) #prints set([3,4,5])
Run Code Online (Sandbox Code Playgroud)

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

aba*_*ert 14

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

两个setS(如在你的例子)和listS(在你的问题),当且仅当它们是空是错误的.再次,请参阅文档了解详细信息.

因此,如果它是空的,x and y将返回x,y否则.