[python] Python-줄 바꿈으로 조인
Python 콘솔에서 다음을 입력합니다.
>>> "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
제공 :
'I\nwould\nexpect\nmultiple\nlines'
이러한 결과를 기대하지만 :
I
would
expect
multiple
lines
내가 여기서 무엇을 놓치고 있습니까?
답변
콘솔은 문자열 자체가 아니라 표현을 인쇄합니다.
접두사로 print
하면 예상 한 결과를 얻을 수 있습니다.
문자열과 문자열 표현의 차이점에 대한 자세한 내용은 이 질문 을 참조하십시오 . 매우 단순화 된 표현은 해당 문자열을 얻기 위해 소스 코드에 입력하는 것입니다.
답변
print
결과를 잊었습니다 . 당신이 얻을 것은 인 P
에RE(P)L
실제 인쇄 결과 입니다.
Py2.x에서는 다음과 같이해야합니다.
>>> print "\n".join(['I', 'would', 'expect', 'multiple', 'lines'])
I
would
expect
multiple
lines
그리고 Py3.X에서 print는 함수이므로
print("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
이제 그것은 짧은 대답이었습니다. 실제로 REPL 인 Python 인터프리터는 항상 실제 표시되는 출력이 아닌 문자열 표현을 표시합니다. 표현은 repr
진술로 얻을 수있는 것입니다 .
>>> print repr("\n".join(['I', 'would', 'expect', 'multiple', 'lines']))
'I\nwould\nexpect\nmultiple\nlines'
답변
당신이해야 할 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
답변
그것을 인쇄해야합니다 :
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
답변
이것을 인쇄하면 print 'I\nwould\nexpect\nmultiple\nlines'
다음을 얻을 수 있습니다.
I
would
expect
multiple
lines
는 \n
특별히 END-OF-TEXT를 표시하는 데 사용되는 새 라인 문자입니다. 줄 또는 텍스트의 끝을 나타냅니다. 이 특성은 C, C ++ 등과 같은 많은 언어에서 공유됩니다.