code: def str_get(arr, i):
      
      def f(x):
          if isinstance(x, dict):
              return x.get(i)
          elif len(x) > i >= -len(x):
              return x[i]
          return np.nan
      return _na_map(f, arr)
docs: Extract element from each component at specified position.
  
      Extract element from lists, tuples, or strings in each element in the
      Series/Index.
  
      Parameters
      ----------
      i : int
          Position of element to extract.
  
      Returns
      -------
      Series or Index
  
      Examples
      --------
      >>> s = pd.Series(["String",
      ...               (1, 2, 3),
      ...               ["a", "b", "c"],
      ...               123,
      ...               -456,
      ...               {1: "Hello", "2": "World"}])
      >>> s
      0                        String
      1                     (1, 2, 3)
      2                     [a, b, c]
      3                           123
      4                          -456
      5    {1: 'Hello', '2': 'World'}
      dtype: object
  
      >>> s.str.get(1)
      0        t
      1        2
      2        b
      3      NaN
      4      NaN
      5    Hello
      dtype: object
  
      >>> s.str.get(-1)
      0      g
      1      3
      2      c
      3    NaN
      4    NaN
      5    None
      dtype: object