I don't know if it is that much quicker or easier, but you could use expand_grid(), then unite().
library(tidyverse)
a <- c("1", "2", "3", "4", "5", "6", "7")
b <- c("_A1","_A2","_A7")
expand_grid(a, b) %>%
unite("c", a:b, sep = "") %>%
pull()
[1] "1_A1" "1_A2" "1_A7" "2_A1" "2_A2" "2_A7" "3_A1" "3_A2" "3_A7" "4_A1" "4_A2" "4_A7" "5_A1" "5_A2" "5_A7" "6_A1" "6_A2" "6_A7" "7_A1" "7_A2" "7_A7"