将multiset
列表合并为单个多集的Python方式是什么
比如说,
from multiset import Multiset
set1 = Multiset('aab')
set2 = Multiset('abc')
ls = [set1, set2]
基于使用set
的我的猜测是:
Multiset.add(*ls)
这会产生一个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.7/site-packages/multiset.py", line 931, in add
self._elements[element] += multiplicity
TypeError: unhashable type: 'Multiset'
有没有比下面的for
循环更好的方法
def add_multisets(ls):
result = Multiset()
for i in ls:
result += i
return result
>>> add_multisets(ls)
Multiset({'a': 3, 'b': 2, 'c': 1})
您可以使用Multiset.combine(*ls) i、 e
相关问题 更多 >
编程相关推荐