class_docstr: Vectorized environment that serially runs multiple environments.
  
  Example::
  
      >>> import gym
      >>> env = gym.vector.SyncVectorEnv([
      ...     lambda: gym.make("Pendulum-v0", g=9.81),
      ...     lambda: gym.make("Pendulum-v0", g=1.62)
      ... ])
      >>> env.reset()
      array([[-0.8286432 ,  0.5597771 ,  0.90249056],
             [-0.85009176,  0.5266346 ,  0.60007906]], dtype=float32)
class_docstr_tok: ["Vectorized","environment","that","serially","runs","multiple","environments",".","Example",":",":",">",">",">","import","gym",">",">",">","env","=","gym.vector.SyncVectorEnv","(","[","...","lambda",":","gym.make","(","``","Pendulum-v0","''",",","g=9.81",")",",","...","lambda",":","gym.make","(","``","Pendulum-v0","''",",","g=1.62",")","...","]",")",">",">",">","env.reset","(",")","array","(","[","[","-0.8286432",",","0.5597771",",","0.90249056","]",",","[","-0.85009176",",","0.5266346",",","0.60007906","]","]",",","dtype=float32",")"]
docstr: Waits for the calls triggered by :meth:`reset_async` to finish and returns the results.
  
  Args:
      seed: The reset environment seed
      options: Option information for the environment reset
  
  Returns:
      The reset observation of the environment and reset information
docstr_tok: ["Waits","for","the","calls","triggered","by",":","meth",":","`","reset_async","`","to","finish","and","returns","the","results",".","Args",":","seed",":","The","reset","environment","seed","options",":","Option","information","for","the","environment","reset","Returns",":","The","reset","observation","of","the","environment","and","reset","information"]
code: def reset_wait(
      self,
      seed: Optional[Union[int, List[int]]] = None,
      options: Optional[dict] = None,
  ):
      """Waits for the calls triggered by :meth:`reset_async` to finish and returns the results.
  
      Args:
          seed: The reset environment seed
          options: Option information for the environment reset
  
      Returns:
          The reset observation of the environment and reset information
      """
      if seed is None:
          seed = [None for _ in range(self.num_envs)]
      if isinstance(seed, int):
          seed = [seed + i for i in range(self.num_envs)]
      assert len(seed) == self.num_envs
  
      self._terminateds[:] = False
      self._truncateds[:] = False
      observations = []
      infos = {}
      for i, (env, single_seed) in enumerate(zip(self.envs, seed)):
          kwargs = {}
          if single_seed is not None:
              kwargs["seed"] = single_seed
          if options is not None:
              kwargs["options"] = options
  
          observation, info = env.reset(**kwargs)
          observations.append(observation)
          infos = self._add_info(infos, info, i)
  
      self.observations = concatenate(
          self.single_observation_space, observations, self.observations
      )
      return (
          deepcopy(self.observations)
          if self.copy
          else self.observations
      ), infos
  
file_path: gym/gym/vector/sync_vector_env.py
imports: from copy import deepcopy
  from typing import Any, Callable, Iterator, List, Optional, Sequence, Union
  import numpy
  from gym import Env
  from gym.spaces import Space
  from gym.vector.utils import concatenate, create_empty_array, iterate
  from gym.vector.vector_env import VectorEnv
label_desc: Use image node_id 3 for calling the SyncVectorEnv obj's underlying member method code with example usage: obj.reset_wait(seed, options) and returns: unknown,  infos