nodes: 0, module; 1, function_definition; 2, function_name:re_sort; 3, parameters; 4, block; 5, identifier:data; 6, expression_statement; 7, expression_statement; 8, expression_statement; 9, for_statement; 10, return_statement; 11, comment:"""
      A data with keys that are not enumerated sequentially will be
      re sorted and sequentially ordered.
  
      For example::
  
          >>> data = {16: ('1', 'b'), 3: ('1', 'a')}
          >>> re_sort(data)
          >>> {0: ('1', 'a'), 1: ('1', 'b')}
      """; 12, assignment; 13, assignment; 14, pattern_list; 15, call; 16, block; 17, identifier:new_data; 18, identifier:keys; 19, call; 20, identifier:new_data; 21, dictionary; 22, identifier:number; 23, identifier:key; 24, identifier:enumerate; 25, argument_list; 26, expression_statement; 27, identifier:sorted; 28, argument_list; 29, identifier:keys; 30, assignment; 31, call; 32, subscript; 33, subscript; 34, attribute; 35, argument_list; 36, identifier:new_data; 37, identifier:number; 38, identifier:data; 39, identifier:key; 40, identifier:data; 41, identifier:keys
code: def re_sort(data):
      """
      A data with keys that are not enumerated sequentially will be
      re sorted and sequentially ordered.
  
      For example::
  
          >>> data = {16: ('1', 'b'), 3: ('1', 'a')}
          >>> re_sort(data)
          >>> {0: ('1', 'a'), 1: ('1', 'b')}
      """
      keys = sorted(data.keys())
      new_data = {}
      for number, key in enumerate(keys):
          new_data[number] = data[key]
      return new_data