这行代码如何工作? -“ if(a_set&b_set):print(a_set&b_set)”工作

时间:2019-10-18 07:03:46

标签: python python-3.x

def common_member(a, b): 

    a_set = set(a) 

    b_set = set(b) 

    if (a_set & b_set): 

        print(a_set & b_set) 

    else: 

        print("No common elements")

1 个答案:

答案 0 :(得分:0)

更新:如juanpa.arrivillaga所述,集合上的&运算符执行集合交集并返回一个新集合,即两者的交集。结果集将计算为bool,如果交集不为空,则返回True。

在python中,许多类型与布尔类型兼容。列表,元组和集合之类的集合也是如此,当转换为布尔值时,当且仅当它们为空时,它们才返回False,否则它们将返回True。

因此,在伪代码中,该行表示是否(a不为空,b不为空)...

您可以通过bool(set(a))

进行测试