We define list = {x, x^2, x^3}; rules = {x -> 1, x -> 2, x -> 3}; and then > 1. Inner[ReplaceAll, list, rules, List] > 2. ReplaceAll @@@ Thread[{list, rules}] > 3. Table[list[[i]] /. rules[[i]], {i, Length@rules}] > 4. fnctn = #1 /. #2 & @@@ Transpose@({##}) &; fnctn[list, rules] > 5. MapIndexed[#^# &, Range@Length@list] all of the above give > `{1, 4, 27}`