找到Counters列表并集的最佳方法(就可读性和效率而言)是什么?
例如,我的列表可能如下所示:
counters = [Counter({'a': 6, 'b': 3, 'c': 1}),
Counter({'a': 2, 'b': 5}),
Counter({'a': 4, 'b': 4}),
...]
我想计算工会,即counters[0] | counters[1] | counters[2] | ...
。
一种方法是:
def counter_union(iterable):
return functools.reduce(operator.or_, iterable, Counter())
有更好的方法吗?