<doocs>0017.Letter Combinations of a Phone Number_1.py
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
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
