Powiązane: Is there any pythonic way to combine two dicts (adding values for keys that appear in both)?Python - Połączyć dwa słowniki, połączyć wartości ciągów?
Chciałbym połączyć dwa ciągi: słowniki napisów i połączyć wartości. Powyższy post zaleca używanie collections.Counter
, ale nie obsługuje on łączenia ciągów.
>>> 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
(Domyślam się, Counter próbuje ustawić b['baz']
do 0.)
Chciałbym uzyskać wynik {'foo':'barbaz', 'baz':'bazbaz'}
. Kolejność konkatenacji nie ma dla mnie znaczenia. Jaki jest czysty, Pythonowy sposób na zrobienie tego?
Jakie będą oczekiwane wyniki, jeśli pojawi się drugi dyktat: '{'foo': 'baz', 'spam': 'jaja'}'? –
@AshwiniChaudhary {'foo': 'barbaz', 'baz': 'bazbaz', 'spam': 'eggs'} – jbreed