'A native Python representation of the Dataset object. If headers have been
set, a list of Python dictionaries will be returned. If no headers have been
set, a list of tuples (rows) will be returned instead.
A dataset object can also be imported by setting the :class:`Dataset.dict` attribute. ::
data = tablib.Dataset()
data.dict = [{\'age\': 90, \'first_name\': \'Kenneth\', \'last_name\': \'Reitz\'}]'

def _set_dict(self, pickle):

    if (not len(pickle)):
        return
    if isinstance(pickle[0], list):
        self.wipe()
        for row in pickle:
            self.append(Row(row))
    elif isinstance(pickle[0], dict):
        self.wipe()
        self.headers = list(pickle[0].keys())
        for row in pickle:
            self.append(Row(list(row.values())))
    else:
        raise UnsupportedFormat
