'Like dict.update() but add counts instead of replacing them.
Source can be an iterable, a dictionary, or another Counter instance.
>>> c = Counter(\'which\')
>>> c.update(\'witch\')           # add elements from another iterable
>>> d = Counter(\'watch\')
>>> c.update(d)                 # add elements from another counter
>>> c[\'h\']                      # four \'h\' in which, witch, and watch
4'

def update(self, iterable=None, **kwds):

    if (iterable is not None):
        if hasattr(iterable, 'iteritems'):
            if self:
                self_get = self.get
                for (elem, count) in iterable.iteritems():
                    self[elem] = (self_get(elem, 0) + count)
            else:
                dict.update(self, iterable)
        else:
            self_get = self.get
            for elem in iterable:
                self[elem] = (self_get(elem, 0) + 1)
    if kwds:
        self.update(kwds)
