If we try to map the rational numbers that terminate $\left[0,1\right)$ with the irrational numbers $\left[0,1\right)$, we could do it like this.
$$ 0.1 \to 0.\mathbf1271828182845 \dots $$ $$ 0.14 \to 0.1\mathbf41421356237 \dots $$ $$ 0.16 \to 0.16\mathbf1803398874 \dots $$ $$ 0.13 \to 0.131\mathbf4159265359 \dots $$ $$ 0.101 \to 0.1010\mathbf0100010 \dots $$ $$ 0.2 \to 0.20200\mathbf20002000 \dots $$ The idea is to match each irrational with the shortest prefix from each irrational number that has not been used yet. Since the numbers are irrational we can always find some rational number to pair with each irrational.
The problem is that we can't list all the irrational numbers, because we can diagonalize a new number. In this case we can take the diagonal $0.141402 \dots$ and change every digit to something else $0.251513 \dots$then we will know that this number can't be on the list.
But, we can still use our idea to find a rational number to match with the new diagonal number, in this case the rational number $0.25$, and since the new irrational number will always be different from all the other numbers, at some finite point, we can always find a rational number to pair with it.
My question is "How can we prove that the set of irrational numbers is uncountable, without invoking Cantor's diagonal argument?"