# Construct a list given two different lists — a list of elements and a list of indices of those elements

I have two separate lists, say:

L1={{1,2},{1,3},{2,3}}
L2={A12,A13,A23}


How can I construct a single matrix A with values $$\left(\begin{array}{ccc} 0 & A12 & A13 \\ 0 & 0 & A23 \\ 0 & 0 & 0 \end{array}\right)$$

I understand that one can do loop:

A=ConstArray[0,{3,3}];
For[i=1, i<= Length @ L1, i++,
A[[L1[[i,1]],L1[[i,2]]] = L2[[i]]
]


Still, this construction does not seem general, especially if working with multidimensional (multiply nested) lists. Is there a way to formalise this algorithm? Furthermore, I am using "For" loop which is not very natural for Mathematica.

Normal @ SparseArray[L1 -> L2, {3, 3}, 0]