Python 将 Counter 附加到 Counter,如 Python 字典更新
Python append Counter to Counter, like Python dictionary update
我有 2 个计数器(来自集合的计数器),我想将一个附加到另一个,而第一个计数器的重叠键将被忽略。喜欢 dic.update(python 词典更新)
例如:
from collections import Counter
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
类似(忽略第一个计数器的重叠键):
# a.update(b)
Counter({'a':4, 'z':1, 'b':2, 'c':3})
我想我总是可以将它转换为某种字典,然后将其转换回 Counter,或使用条件。但我想知道是否有更好的选择,因为我在相当大的数据集上使用它。
Counter
is a dict
subclass,因此您可以显式调用 dict.update
(而不是 Counter.update
)并传递两个计数器作为参数:
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
dict.update(a, b)
print(a)
# Counter({'a': 4, 'c': 3, 'b': 2, 'z': 1})
您也可以使用dict unpacking
from collections import Counter
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
Counter({**a, **b})
Counter({'a': 4, 'c': 3, 'b': 2, 'z': 1})
我有 2 个计数器(来自集合的计数器),我想将一个附加到另一个,而第一个计数器的重叠键将被忽略。喜欢 dic.update(python 词典更新)
例如:
from collections import Counter
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
类似(忽略第一个计数器的重叠键):
# a.update(b)
Counter({'a':4, 'z':1, 'b':2, 'c':3})
我想我总是可以将它转换为某种字典,然后将其转换回 Counter,或使用条件。但我想知道是否有更好的选择,因为我在相当大的数据集上使用它。
Counter
is a dict
subclass,因此您可以显式调用 dict.update
(而不是 Counter.update
)并传递两个计数器作为参数:
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
dict.update(a, b)
print(a)
# Counter({'a': 4, 'c': 3, 'b': 2, 'z': 1})
您也可以使用dict unpacking
from collections import Counter
a = Counter(a=4, b=0, c=1)
b = Counter(z=1, b=2, c=3)
Counter({**a, **b})
Counter({'a': 4, 'c': 3, 'b': 2, 'z': 1})