docs: def _split_field_list(field_list):
      """Split the list of fields for which to extract values into lists by extraction
      methods.
  
      - Remove any duplicated field names.
      - Raises ValueError with list of any invalid field names in ``field_list``.
  
      """
      lookup_dict = {}
      generate_dict = {}
  
      for field_name in field_list or FIELD_NAME_TO_EXTRACT_DICT.keys():
          try:
              extract_dict = FIELD_NAME_TO_EXTRACT_DICT[field_name]
          except KeyError:
              assert_invalid_field_list(field_list)
          else:
              if "lookup_str" in extract_dict:
                  lookup_dict[field_name] = extract_dict
              else:
                  generate_dict[field_name] = extract_dict
  
      return lookup_dict, generate_dict