class_docstr: Converts infos of vectorized environments from dict to List[dict].
  
  This wrapper converts the info format of a
  vector environment from a dictionary to a list of dictionaries.
  This wrapper is intended to be used around vectorized
  environments. If using other wrappers that perform
  operation on info like `RecordEpisodeStatistics` this
  need to be the outermost wrapper.
  
  i.e. VectorListInfo(RecordEpisodeStatistics(envs))
  
  Example::
  
  >>> # actual
  >>> {
  ...      "k": np.array[0., 0., 0.5, 0.3],
  ...      "_k": np.array[False, False, True, True]
  ...  }
  >>> # classic
  >>> [{}, {}, {k: 0.5}, {k: 0.3}]
docstr: Process episode statistics.
  
  `RecordEpisodeStatistics` wrapper add extra
  information to the info. This information are in
  the form of a dict of dict. This method process these
  information and add them to the info.
  `RecordEpisodeStatistics` info contains the keys
  "r", "l", "t" which represents "cumulative reward",
  "episode length", "elapsed time since instantiation of wrapper".
  
  Args:
      infos (dict): infos coming from `RecordEpisodeStatistics`.
      list_info (list): info of the current vectorized environment.
  
  Returns:
      list_info (list): updated info.
code: def _process_episode_statistics(
      self, infos: dict, list_info: list
  ) -> List[dict]:
      """Process episode statistics.
  
      `RecordEpisodeStatistics` wrapper add extra
      information to the info. This information are in
      the form of a dict of dict. This method process these
      information and add them to the info.
      `RecordEpisodeStatistics` info contains the keys
      "r", "l", "t" which represents "cumulative reward",
      "episode length", "elapsed time since instantiation of wrapper".
  
      Args:
          infos (dict): infos coming from `RecordEpisodeStatistics`.
          list_info (list): info of the current vectorized environment.
  
      Returns:
          list_info (list): updated info.
  
      """
      episode_statistics = infos.pop("episode", False)
      if not episode_statistics:
          return list_info
  
      episode_statistics_mask = infos.pop("_episode")
      for i, has_info in enumerate(episode_statistics_mask):
          if has_info:
              list_info[i]["episode"] = {}
              list_info[i]["episode"]["r"] = episode_statistics["r"][i]
              list_info[i]["episode"]["l"] = episode_statistics["l"][i]
              list_info[i]["episode"]["t"] = episode_statistics["t"][i]
  
      return list_info
  
file_path: gym/gym/wrappers/vector_list_info.py
imports: from typing import List
  import gym
label_desc: Use image node_id 5 for calling the VectorListInfo obj's underlying member method code with example usage: obj._process_episode_statistics(infos, list_info) and returns: list_info, list_info