2012-04-15 5 views
1

목록에 \를 사용하는 이스케이프 시퀀스를 아는 사람이 있습니까?파이썬 목록에서 사용하는 방법

List = ['a','B','c','D','\'] # My python interpreter thinks I want 
          # a line continuation but I want the 
          # actual ASCII character. 
+0

전혀 특별하지 않다. 문자열 리터럴에 백 슬래시 하나만 넣고 싶을뿐입니다. –

+0

이것은 실제로 목록과 아무 관련이 없지만 오히려'\\'문자는 문자열 * 안에 특별 *합니다. – Cameron

답변

8

이 작동 앞에 다른 \와

List = ['a','B','c','D','\\'] 

당신은 "탈출"은 \. "List"는 아마도 변수 이름에 대한 최선의 선택이 아닐 것입니다.

기본적으로 특수 문자로 이 아닌 간단한 "\"문자로 \를 사용하려면 항상 그 중 두 개를 사용해야합니다.

예를 들어 코드에서 두 개가 사용 되더라도 목록에서 단일 백 슬래시를 찾아 백 슬래시 하나만 인쇄합니다.

for c in List: 
    if c == '\\': 
     print 'Found \\.' 

출력 :

Found \. 
+0

실제 이름이 아니라 단지 예일 뿐이며 이중 백래시가 작동하지 않는 것처럼 보입니다.이 '\\'만 인쇄하면됩니다. 나는 단지 하나의 '\'를 인쇄 할 것입니다. – RandomPhobia

+0

@RandomPhobia 그것은 거기에 있습니다. 이것을보십시오 : 목록 인쇄 [4] 그러면 역 슬래시가 생깁니다. – Levon

+1

@RandomPhobia : 아니오, 이중 백 슬래시가 맞습니다. 메모리의 실제 문자열에는 백 슬래시가 하나만 포함됩니다. 두 개의 백 슬래시를 인쇄하는 이유는이를 복사하여 Python 스크립트에 붙여 넣을 수 있고 구문 오류 대신 동일한 값을 얻을 수 있기 때문입니다. 'print ','.join (List)'를 실행하면 백 슬래시가 하나만 있음을 알 수 있습니다. –

2

그것은해야한다 : 이중 백 슬래시를 사용

List = ['a','B','c','D','\\'] 

는 문자를 탈출 할 수 있습니다. Python Reference - Lexical Analysis 섹션에서 자세히 설명합니다.

그것은 당신에게 하나의 백 슬래시를 다시 줄 것이다하십시오 목록에서

는 것을
>>> print chr(ord(List[-1])) 
\ 
+0

또는'print List [-1]'도 작동합니다. – Levon

+0

@ Levon : 그것은 역 슬래시를 줄 것이라는 점을 망각하는 것이 었습니다. 그러나 당신은 절대적으로 옳습니다. – Makoto

관련 문제