Bạn quên printkết quả. Những gì bạn nhận được là Ptrong RE(P)Lvà không phải là kết quả in thực tế.
Trong Py2.x, bạn nên làm như vậy
>>> print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines
và trong Py3.X, print là một hàm, vì vậy bạn nên làm
print("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
Đó là câu trả lời ngắn gọn. Trình thông dịch Python của bạn, thực sự là một REPL, luôn hiển thị biểu diễn của chuỗi thay vì đầu ra được hiển thị thực tế. Trình bày là những gì bạn sẽ nhận được với reprtuyên bố
>>> print repr("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
'I\nwould\nexpect\nmultiple\nlines'