関連: 2 つの dict を結合する (両方に表示されるキーの値を追加する) Pythonic な方法はありますか?
2 つの string:string 辞書をマージして、値を連結したいと考えています。上記の投稿では の使用を推奨してcollections.Counter
いますが、文字列の連結は処理されません。
>>> from collections import Counter
>>> a = Counter({'foo':'bar', 'baz':'bazbaz'})
>>> b = Counter({'foo':'baz'})
>>> a + b
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/collections.py", line 569, in __add__
TypeError: cannot concatenate 'str' and 'int' objects
(私の推測では、Counter はb['baz']
0 に設定しようとします。)
の結果を取得したいと思い{'foo':'barbaz', 'baz':'bazbaz'}
ます。連結順序は私にとって重要ではありません。これを行うためのクリーンで Pythonic な方法は何ですか?