you didn't ask a question, but you are looking for:
python -c 'import sys; print("\n".join(sys.path))'
The reason your posted example doesn't work is that block-introducing statements must be the first statement on the physical line (meaning they can't appear after a semicolon). (More specifically: semicolons can only be used to separate "simple statements"; compound statements cannot be introduced as part of a semicolon-separated group of statements.)
If you're using BASH to run the command, you actually have a second option:
python -c $'import sys\nfor p in sys.path: print(p)'
The $'...' in BASH evaluates ANSI-C backslash escape sequences (such as \n for a newline), thus allowing you to put the for statement on a new physical line.