Python中“和”与集合的行为

时间:2013-02-05 22:38:13

标签: python set

我知道如果我想获得两组(或者frozensets)的交集,我应该使用&号&。出于好奇,我试图使用'和'这个词

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

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

1 个答案:

答案 0 :(得分:14)

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

当且仅当它们为空时,set s(如您的示例中)和list s(如您的问题中)都是假的。再次,请参阅the docs了解详细信息。

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