nodes: 0, module; 1, function_definition; 2, function_name:sort_by_type; 3, parameters; 4, block; 5, identifier:file_list; 6, expression_statement; 7, expression_statement; 8, for_statement; 9, return_statement; 10, comment:"""
      Sorts a list of files into types.
  
      :param file_list: List of file paths.
      :return: {extension: [<list of file paths with that extension>]}
      """; 11, assignment; 12, identifier:filepath; 13, identifier:file_list; 14, block; 15, identifier:ret_dict; 16, identifier:ret_dict; 17, call; 18, expression_statement; 19, expression_statement; 20, identifier:defaultdict; 21, argument_list; 22, assignment; 23, call; 24, identifier:list; 25, pattern_list; 26, call; 27, attribute; 28, argument_list; 29, identifier:_; 30, identifier:ext; 31, attribute; 32, argument_list; 33, subscript; 34, identifier:append; 35, identifier:filepath; 36, attribute; 37, identifier:splitext; 38, identifier:filepath; 39, identifier:ret_dict; 40, call; 41, identifier:os; 42, identifier:path; 43, attribute; 44, argument_list; 45, identifier:ext; 46, identifier:replace; 47, string; 48, string; 49, string_content:.
code: def sort_by_type(file_list):
      """
      Sorts a list of files into types.
  
      :param file_list: List of file paths.
      :return: {extension: [<list of file paths with that extension>]}
      """
      ret_dict = defaultdict(list)
      for filepath in file_list:
          _, ext = os.path.splitext(filepath)
          ret_dict[ext.replace('.', '')].append(filepath)
  
      return ret_dict