找到部分子集python

Dav*_*vid 2 python set

我正在寻找一种方法来获得另一个set中出现的元素数量set.

鉴于这两组:

a = 'a b c d'
b = 'a b c e f'
a = set(a.split())
b = set(b.split())
Run Code Online (Sandbox Code Playgroud)

这打印错误:

print a.issubset(b) # prints False
Run Code Online (Sandbox Code Playgroud)

是否有一种pythonic方式来打印"3",因为a出现了三个元素b

DSM*_*DSM 9

IIUC,您可以使用set.intersection:

>>> a.issubset(b)
False
>>> a.intersection(b)
{'a', 'c', 'b'}
>>> len(a.intersection(b))
3
Run Code Online (Sandbox Code Playgroud)

这可能是缩写&,因为两者ab是集:

>>> len(a & b)
3
Run Code Online (Sandbox Code Playgroud)