def _setitem_via_pathlist(external_dict,path_list,value,**kwargs):
    '''
        y = {'c': {'b': {}}}
        _setitem_via_pathlist(y,['c','b'],200)
    '''
    if('s2n' in kwargs):
        s2n = kwargs['s2n']
    else:
        s2n = 0
    if('n2s' in kwargs):
        n2s = kwargs['n2s']
    else:
        n2s = 0
    this = external_dict
    for i in range(0,path_list.__len__()-1):
        key = path_list[i]
        if(n2s ==1):
            key = str(key)
        if(s2n==1):
            try:
                int(key)
            except:
                pass
            else:
                key = int(key)
        this = this.__getitem__(key)
    this.__setitem__(path_list[-1],value)
    return(external_dict)
def _setitem_via_pathlist ( external_dict , path_list , value , ** kwargs ) : if ( 's2n' in kwargs ) : s2n = kwargs [ 's2n' ] else : s2n = 0 if ( 'n2s' in kwargs ) : n2s = kwargs [ 'n2s' ] else : n2s = 0 this = external_dict for i in range ( 0 , path_list . __len__ ( ) - 1 ) : key = path_list [ i ] if ( n2s == 1 ) : key = str ( key ) if ( s2n == 1 ) : try : int ( key ) except : pass else : key = int ( key ) this = this . __getitem__ ( key ) this . __setitem__ ( path_list [ - 1 ] , value ) return ( external_dict )
y = {'c': {'b': {}}}
        _setitem_via_pathlist(y,['c','b'],200)