View source on GitHub

Returns a dictionary with flattened keys and values.

This function flattens the keys and values of a dictionary, which can be arbitrarily nested structures, and returns the flattened version of such structures:

example_dictionary = {(4, 5, (6, 8)): ("a", "b", ("c", "d"))}
result = {4: "a", 5: "b", 6: "c", 8: "d"}
flatten_dict_items(example_dictionary) == result

The input dictionary must satisfy two properties:

  1. Its keys and values should have the same exact nested structure.
  2. The set of all flattened keys of the dictionary must not contain repeated keys.

dictionary the dictionary to zip

The zipped dictionary.

TypeError If the input is not a dictionary.
ValueError If any key and value do not have the same structure layout, or if keys are not unique.