'Updates counter with the tallies from the given iterable, dictionary or Counter.'

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

    if kwargs:
        self.update(kwargs)
    if hasattr(iterable, 'items'):
        for (k, v) in iterable.items():
            self[k] = (self.get(k, 0) + v)
    elif (hasattr(iterable, '__getitem__') or hasattr(iterable, '__iter__')):
        for k in iterable:
            self[k] = (self.get(k, 0) + 1)
