'Helper for implementing __setitem__ on _CardAccessor subclasses; slices
should always be handled in this same way.'

def _setslice(self, item, value):

    if (isinstance(item, slice) or self._header._haswildcard(item)):
        if isinstance(item, slice):
            indices = range(*item.indices(len(self)))
        else:
            indices = self._header._wildcardmatch(item)
        if (isinstance(value, string_types) or (not isiterable(value))):
            value = itertools.repeat(value, len(indices))
        for (idx, val) in zip(indices, value):
            self[idx] = val
        return True
    return False
