comefrom: <doocs>0017.Letter Combinations of a Phone Number_1.py
code: def letterCombinations( digits: str) -> List[str]:
      n = len(digits)
      if n == 0:
          return []
      chars = ['abc', 'def', 'ghi', 'jkl', 'mno', 'pqrs', 'tuv', 'wxyz']
      strs = [chars[int(d) - 2] for d in digits]
      res = []
      for s in strs:
          if not res:
              res = list(s)
          else:
              cache = []
              for item in res:
                  for letter in s:
                      cache.append(item + letter)
              res = cache
      return res
masked: def sample_funcname ( var_0 : str ) -> List [ str ] :
      var_4 = len ( var_0 )
      if var_4 == 0 :
          return [ ]
      var_14 = [ 'abc' , 'def' , 'ghi' , 'jkl' , 'mno' , 'pqrs' , 'tuv' , 'wxyz' ]
      var_18 = [ var_14 [ int ( var_16 ) - 2 ] for var_16 in var_0 ]
      var_19 = [ ]
      for var_20 in var_18 :
          if not var_19 :
              var_19 = list ( var_20 )
          else :
              var_22 = [ ]
              for var_23 in var_19 :
                  for var_24 in var_20 :
                      var_22.append ( var_23 + var_24 )
              var_19 = var_22
      return var_19
  