f = "string" <> ToString[#] &

or, if you have 10+:

    f = StringTemplate["string``"]

Can't find a duplicate, so:

    list = Range@10;
    list[[;; ;; 3]] = f /@ list[[;; ;; 3]];

    list
>     {"string1", 2, 3, "string4", 5, 6, "string7", 8, 9, "string10"}

Or:

    list = Range@10;

    MapAt[
     f,
     list,
     {;; ;; 3}
    ]