2015-01-29 2 views
0

나는 파이썬 정규 표현식 부분에서 출력 된리스트를 가지고있다. 나는 그러나파이썬리스트가 원하는대로 출력되지 않는다.

v_new = ','.join(map(str, v)) 
f.write('%s\n'%v_new) 
f.close 

같은 파일에 문자열이 변환 및 쓰기 위해 노력하고 있어요

v = [['-0.00162439495203', '-0.000178892778126']] 

내가

-0.00162439495203 
-0.000178892778126 
을하는 대신 내 파일을 열 때, 다음과 같이 목록입니다

나는 ['-0.00162439495203', '-0.000178892778126']을 얻습니다. 즉, [] and ''을 포함하여 같은 줄에 있습니다. 파일 f이 쓰기 용으로 열렸는데 여기에 표시되지 않습니다.

답변

0

v 요소를 지정하면 괄호와 따옴표없이 문자열이 인쇄됩니다. 좋아요 :

v = [['-0.00162439495203']] 
v_new = ','.join(map(str, v[0])) 

당신이 갖고있는 것과 아주 흡사합니다.

편집 : 이와 비슷한 작업이 가능합니다.

v = [['-0.00162439495203', '-0.000178892778126']] 
v_new = ','.join(v[0]) 
v_new = v_new.replace(',','\n') 
+0

Thanks @KyleBooth. 그러나 값은 새로운 행에 쓰는 것보다 쉼표로 구분하여 쓰고 있습니다. 이'f.write ("% s \ n"% v_new ")가 잘못된 것 – hypersonics

+0

KyleBooth에게 감사드립니다. 그것은 효과가 있었다. – hypersonics

+0

굉장! 다행히 도울 수있어. –

0

목록 내에 문자열이 포함 된 목록이 있습니다. 가입하면 외부 목록 (내부 목록 인 하나의 요소를 조인)에서만 조인합니다. 내부 목록에 참여하고 싶습니다. 마찬가지로 :

print(','.join(v[0])) 

내부 목록의 요소는 이미 문자열이므로 str 함수를 해당 요소에 매핑 할 필요가 없습니다.

+0

감사합니다. @Andew. 'print (','. join (v [0]))'는 작동하지만,'\ n'을 사용하여 파일에 쓸 때 두 개의 별도 라인으로 출력하지 않고 '-0.00162439495203, -0.000178892778126'. 이것은 내가 한 것입니다 :''v.new = ','. (v [0])''뒤에'f.write ("% s \ n"% v_new)' – hypersonics

+0

string.join () 전화. 빠른 답변을 얻으려면 목록의 요소 중에서 문자열로 구분 된 문자열 하나를 만듭니다. 따라서 귀하의 경우에는 목록의 각 요소를 ','로 구분하여 하나의 문자열을 생성합니다 – Andrew

관련 문제