def __setslice__(self, i, j, other): o = [] o_tmp = other if type(o_tmp) not in (list, tuple) and not isinstance(o_tmp, UserList): o_tmp = list(o_tmp) for item in o_tmp: if type(item) == unicode: o.append(item.encode(u'utf-8')) else: o.append(item) MultiPurposeList.__setslice__(self, i, j, o)