**I have two lists, lista and listb,**  

**lista contains three elements, each of their class() is frame:**   
frame1, frame2, frame3. Each frame nrows = 50, ncols = 100  
 
**listb contains three elements, each of their class() is numeric:**  
vector1, vector2, vector3. Each vector length is 50

**I want to do**   
vector1 replace the 100th col (last column) of frame1,  
vector2 replace the 100th col of frame2,  
vector3 replace the 100th col of frame3.

How can I realize is not by for cycle use R? Many thanks!
I search this question for several hours，but seems no similar can be reference. 

yes,for R, it's   

    lista[[1]][, 100] <- listb[[1]]   
    lista[[2]][, 100] <- listb[[2]]  
    lista[[3]][, 100] <- listb[[3]]  
here 1,2,3 is toy example, what I will process more than 200
We can use *mapply*, see this example:

    # example data
    set.seed(1);lista <- list(frame1 = data.frame(x = letters[1:2], y = runif(2)),
                              frame2 = data.frame(x = letters[3:4], y = runif(2)),
                              frame3 = data.frame(x = letters[5:6], y = runif(2)))
    
    listb <- list(c(1, 11), c(2, 22), c(3, 33))
    
    lista
    # $frame1
    # x         y
    # 1 a 0.2655087
    # 2 b 0.3721239
    # 
    # $frame2
    # x         y
    # 1 c 0.5728534
    # 2 d 0.9082078
    # 
    # $frame3
    # x         y
    # 1 e 0.2016819
    # 2 f 0.8983897
    
    listb
    # [[1]]
    # [1]  1 11
    # 
    # [[2]]
    # [1]  2 22
    # 
    # [[3]]
    # [1]  3 33
    
    
    mapply(function(x, y){
      x[ ncol(x) ] <- y # Assign y to the last column, in your case ncol(x) will return 100.
      x},
      lista, listb, SIMPLIFY = FALSE)
    # $frame1
    # x  y
    # 1 a  1
    # 2 b 11
    # 
    # $frame2
    # x  y
    # 1 c  2
    # 2 d 22
    # 
    # $frame3
    # x  y
    # 1 e  3
    # 2 f 33

