set new values (values have to be iterable)

def set(self, values):
        """ set new values (values have to be iterable)
        """
        if not hasattr(values, '__iter__') or isinstance(values, string_types):
            raise SchemaError("Wrong value '%s' for field '%s'" % (values, self._ftype))
        # check data are valid before deleting the data
        # prevents losing data if wrong type is passed
        values = [self._ftype.validate(v) for v in values]
        del self[:]
        for v in values:
            list.append(self, v)