Подтвердить что ты не робот

Python - Присоединиться к новой строке

В консоли Python, когда я печатаю:

>>> "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])

дает:

'I\nwould\nexpect\nmultiple\nlines'

Хотя я ожидаю увидеть такой вывод:

I
would
expect
multiple
lines

Что мне здесь не хватает?

4b9b3361

Ответ 1

Консоль печатает представление, а не сама строка.

Если вы префикс print, вы получите то, что ожидаете.

Подробнее о различии между строкой и строковым представлением см. этот вопрос. Супер-упрощенное представление - это то, что вы вводите в исходный код для получения этой строки.

Ответ 2

Вы забыли результат print. То, что вы получаете, это P в RE(P)L, а не фактический печатный результат.

В Py2.x вам нужно что-то вроде

>>> print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

и в Py3.X, печать - это функция, поэтому вы должны сделать

print("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))

Теперь это был короткий ответ. Ваш Python Interpreter, который фактически является REPL, всегда отображает представление строки, а не фактический отображаемый вывод. Представление - это то, что вы получили бы с помощью инструкции repr

>>> print repr("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
'I\nwould\nexpect\nmultiple\nlines'

Ответ 3

Для получения этого вывода нужно print.
Вы должны сделать

>>> x = "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
>>> x                   # this is the value, returned by the join() function
'I\nwould\nexpect\nmultiple\nlines'
>>> print x    # this prints your string (the type of output you want)
I
would
expect
multiple
lines

Ответ 4

Вы должны напечатать его:

In [22]: "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
Out[22]: 'I\nwould\nexpect\nmultiple\nlines'

In [23]: print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines

Ответ 5

Когда вы печатаете его с помощью этого print 'I\nwould\nexpect\nmultiple\nlines', вы получите:

I
would
expect
multiple
lines

\n - это новый символ линии, специально используемый для маркировки END-OF-TEXT. Это означает конец строки или текста. Эти характеристики разделяются многими языками, такими как C, С++ и т.д.