def is_list(obj): return isinstance(obj, collections.Iterable) and \ isinstance(obj, collections.Sized) and \ not isinstance(obj, (str, collections.Mapping))