I am trying to prove that $L$ is a nonempty finite language and $k$ is a positive natural number then $|L^k| = |L|^k$ where $|L|^k$ refers to the cardinality of $L$ raised to the $k$th power and $|L^k|$ refers to the cardinality of the $k$-fold concatenation of $L$ with itself.
Here are my thoughts: I would like to define some set $B$ to consist of $|L|^k$ unique tuples of letters in our alphabet of various lengths $\leq k$. Then I would like to define a bijection $h: B \rightarrow |L^k|$ to map elements of $b$ to the concatenation of each of the coordinates of our tuple which we know is in $|L^k|$ as it is defined in the problem. It would not be difficult to prove surjectivity since the concatenatin of any tuples consisting of letters of our alphabet is in $|L^k|$ and since we defined $B$ to consist of unique tuples, surjectivity is fairly trivial to show. I am (1) confused about whether it is possible to define such a $B$ of size $|L|^k$ made up of unique tuples of letters in our alphabet and (2) whether I am approaching this the correct way in the first place.
Take $L = \{a, aa, aaa\}$. Then $L^2 = \{aa, aaa, aaaa, aaaaa\}$ has four elements, while $3^2 = 9$. The problem here is ambiguity, since $a\cdot aa = aa\cdot a$, $aaa\cdot a = aa \cdot aa$ etc. Thus you only get $|L^k|\leq|L|^k$. The example uses only one letter, but you can find ones for bigger alphabets, too.
To eliminate this ambiguity, you could demand that L be a code. Then the statement clearly holds.