If structure is a scalar, flat_sequence must be a single-element list;
in this case the return value is flat_sequence[0].
If structure is or contains a dict instance, the keys will be sorted to
pack the flat sequence in deterministic order. This is true also for
OrderedDict instances: their sequence order is ignored, the sorting order of
keys is used instead. The same convention is followed in flatten.
This correctly repacks dicts and OrderedDicts after they have been
flattened, and also allows flattening an OrderedDict and then repacking it
back using a corresponding plain dict, or vice-versa.
Dictionaries with non-sortable keys cannot be flattened.
Args
structure
Nested structure, whose structure is given by nested lists,
tuples, and dicts. Note: numpy arrays and strings are considered
scalars.