从计数器公用密钥列表中摘录

时间:2018-12-09 03:27:25

标签: python list counter

我有一个计数器列表,如下所示:

List1: [Counter({22.99: 1}), Counter({12.011: 2, 15.999: 2}), 
Counter({12.011: 7})]
List2: [Counter({12.011: 15, 15.999: 1})]

我想找到两个计数器列表之间的公用密钥。以下解决方案适用于Python 3.0,但不适用于2.7。如果您可以提出2.7的兼容解决方案,那就太好了。

np.array(list(set().union(rhs, *lhs)))[:, None]

1 个答案:

答案 0 :(得分:1)

IIUC

def get_keys(l):
    return set([sub for x in l for sub in x.keys()])

>>> get_keys(l1) & get_keys(l2)
{12.011, 15.999}