2011-05-08 3 views
2

동일한 문자열에 포함 된 일부 부동 소수점 값을 자르려고 시도하지만 계속 진행 방법을 잘 모르겠습니다.파이썬에 여러 개의 부동 소수점 값이있는 문자열의 서식 지정

현재 Python xml.dom.minidom을 사용하여 Node.toxml()을 사용하여 일부 XML을 작성하고 있습니다. 내가 좋아하는 뭔가가 있습니다

1.471392 0.740274 0.659904 -0.560021 1.312128 -0.697930 1.557193 5.156295 2.279541 -0.760170 -0.778676 
-4.882018 0.872503 0.553950 4.468880 -0.793693 0.572676 0.521594 -1.535048 -0.736827 -3.014793 12.288257 
5.243127 -0.850610 2.382368 2.183009 0.733634 0.669893 -0.658211 -1.229626 6.780756 -0.608808 -0.914032 

을하지만 2 소수점 각 부동 소수점 값을 절단하고 싶은, 그래서 첫 번째 값과 같이 보일 것이다 :

1.47 0.74 

다른 값이 포함되었습니다.

전체 문서를 반복하고 각 문자열을 반복하는 일부 함수를 사용하는 것이 좋습니다. 누구든지 전에 이것을했거나 완전히 놓친 쉬운 해결책을 찾았습니까?

" ".join([str(round(float(i),2)) for i in data.split(' ')]) 

데이터가 수레의 당신의 문자열을 포함합니다 :

많은 감사, C 여기

+0

http://docs.python.org/library/functions.html#round –

답변

1

은 한 줄입니다. 가장 효율적일 수는 없지만 일을 처리합니다.

+0

많은 감사! 이것은 매우 잘 작동했습니다. – Chris

+0

멋진데, 나는 그것이 당신을 위해 일해서 다행입니다 :) –

0
def round_2(f): 
    return round(f, 2) 

>>> map(round_2, [1.3234254, 2.33521453]) 
[1.32, 2.34] 

기능 프로그래밍 바위!

덧붙여서, 캐릭터 라인이나 부동 소수점의 배열을 조작하고 있을지 어떨지는 명확하지 않지만, 전의 경우는 캐릭터 라인을 우선 float의 배열로 분할합니다.

1
>>> '%.2f' % (1.471392,) 
'1.47'