I can join lines in Python using semi-colon, e.g.
x=['a','b']; for i,j in enumerate(x): print(i,":", j)
The short (yet valid) answer is simply "because the language grammar isn't defined to allow it". As for why that's the case, it's hard if not impossible to be sure unless you ask whoever came up with that portion of the grammar, but I imagine it's due to readability, which is one of the goals of Python1.
Why would you ever want to write something obscure like that? Just split it up into multiple lines:
x = ['a','b'] for i,j in enumerate(x): print(i, ":", j)
I would argue that this variant is much clearer.
import this: Readability counts.