<qiyuangong>030_Substring_with_Concatenation_of_All_Words_1.py
def findSubstring( s, words):
    ls = len(s)
    word_ls = len(words[0])
    target_dict = {}
    for word in words:
        try:
            target_dict[word] += 1
        except KeyError:
            target_dict[word] = 1
    res = []
    for start in range(ls - word_ls * len(words) + 1):
        curr_dict = target_dict.copy()
        for pos in range(start, start + word_ls * len(words), word_ls):
            curr = s[pos:pos + word_ls]
            try:
                curr_dict[curr] -= 1
                if curr_dict[curr] < 0:
                    break
            except KeyError:
                break
        else:
            res.append(start)
    return res
def sample_funcname ( var_0 , var_1 ) :
    var_3 = len ( var_0 )
    var_5 = len ( var_1 [ 0 ] )
    var_6 = { }
    for var_7 in var_1 :
        try :
            var_6 [ var_7 ] += 1
        except KeyError :
            var_6 [ var_7 ] = 1
    var_10 = [ ]
    for var_12 in range ( var_3 - var_5 * len ( var_1 ) + 1 ) :
        var_14 = var_6.copy ( )
        for var_15 in range ( var_12 , var_12 + var_5 * len ( var_1 ) , var_5 ) :
            curr = var_0 [ var_15 : var_15 + var_5 ]
            try :
                var_14 [ curr ] -= 1
                if var_14 [ curr ] < 0 :
                    break
            except KeyError :
                break
        else :
            var_10.append ( var_12 )
    return var_10
