8

我知道,如果我想获得两组(或 freezesets)的交集,我应该使用 & 符号&。出于好奇,我尝试使用“和”这个词

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

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

4

1 回答 1

14

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

当且仅当它们为空时, s (set如您的示例)和s (如您的问题)都是错误的。list同样,有关详细信息,请参阅文档

所以,如果它是空的,x and y将返回,否则。xy

于 2013-02-05T22:40:52.477 回答