class_docstr: An abstract base class for step executors running steps locally
class_docstr_tok: ["An","abstract","base","class","for","step","executors","running","steps","locally"]
docstr: Convert list into dictionary using a field inside list elements as the keys.
  
  Raises RuntimeError if given list not able to be converted into a map based on given key.
docstr_tok: ["Convert","list","into","dictionary","using","a","field","inside","list","elements","as","the","keys",".","Raises","RuntimeError","if","given","list","not","able","to","be","converted","into","a","map","based","on","given","key","."]
code: def _convert_list_to_dict(
      self, dictionary: dict, path_to_list: str, reducing_key: str
  ):
      """Convert list into dictionary using a field inside list elements as the keys.
  
      Raises RuntimeError if given list not able to be converted into a map based on given key.
      """
  
      try:
          list_to_convert = get_using_dot_notation(
              dictionary, path_to_list
          )
      except ValueError:
          raise RuntimeError(
              f"{path_to_list} does not exist in {dictionary}"
          )
      if not isinstance(list_to_convert, list):
          raise RuntimeError(
              f"Element at path {path_to_list} is not a list. Actual type {type(list_to_convert)}"
          )
      converted_map = {}
      for element in list_to_convert:
          if not isinstance(element, dict):
              raise RuntimeError(
                  f"Cannot convert element of type {type(element)} into dictionary entry"
              )
          converted_map[element[reducing_key]] = element
      return converted_map
  
imports: from __future__ import absolute_import
  from abc import ABC, abstractmethod
  import json
  from datetime import datetime
  from typing import Dict, List, Union
  from botocore.exceptions import ClientError
  from sagemaker.workflow.conditions import ConditionTypeEnum
  from sagemaker.workflow.function_step import DelayedReturn
  from sagemaker.workflow.steps import StepTypeEnum, Step
  from sagemaker.workflow.step_collections import StepCollection
  from sagemaker.workflow.entities import PipelineVariable
  from sagemaker.workflow.parameters import Parameter
  from sagemaker.workflow.functions import Join, JsonGet, PropertyFile
  from sagemaker.workflow.properties import Properties
  from sagemaker.workflow.execution_variables import ExecutionVariable, ExecutionVariables
  from sagemaker.workflow.pipeline import PipelineGraph
  from sagemaker.local.exceptions import StepExecutionException
  from sagemaker.local.utils import get_using_dot_notation
  from sagemaker.utils import unique_name_from_base
  from sagemaker.s3 import parse_s3_url, s3_path_join
label_desc: Use image node_id 3 for calling the _StepExecutor obj's underlying member method code with example usage: obj._convert_list_to_dict(dictionary, path_to_list, reducing_key) and returns: converted_map