def foo(tup, idxs, vals): out_tup = tup for i, v in zip(idxs, vals): out_tup = tuple_setitem(out_tup, i, v) return tup, out_tup