'Set a key\'s value or values.
Setting a value overwrites all old ones. The value may be a
list of Unicode or UTF-8 strings, or a single Unicode or UTF-8
string.'

def __setitem__(self, key, values):

    if isinstance(key, slice):
        return VComment.__setitem__(self, key, values)
    if (not is_valid_key(key)):
        raise ValueError
    if (not isinstance(values, list)):
        values = [values]
    try:
        del self[key]
    except KeyError:
        pass
    if PY2:
        key = key.encode('ascii')
    for value in values:
        self.append((key, value))
