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.