파이썬 1열 출력을 나누어서 2열 출력으로 만들고싶은데요.
조회수 1871회
이런식으로 코드를 작성하였는데요.
경계선 아래 부분이 제가 원하는 데이터를 출력한 출력문입니다. 결과값을 2열로 하여 출력하고싶어서 경계선 윗부분처럼 코드를 작성하였는데요.
data = [('Result1'), ('Result2')] 이 부분의 ' '안을 문자로 인식하여
문자 자체가 2열로 출력이 됩니다.
제가 원하는 출력 방식은
Interpolation method: nearest
1hr 0.000 1.375
2hr 0.000 1.750
3hr -0.375 2.125
4hr -0.500 2.000
5hr -0.625 2.125
6hr -0.875 2.000
7hr -1.000 2.000
8hr -0.875 2.375
9hr -0.875 2.500
10hr -1.125 2.500
11hr -1.000 2.375
12hr -0.875 2.125
이런 형태의 출력을 하고 싶습니다. 작성한 코드중 어느부분을 어떻게 고치면 좋을까요?
코드를 런했을때 출력문은 댓글 사진첨부하였습니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
3 답변
-
1번
from itertools import zip_longest data = [('Result1'),('Result2')] for columns in izip_longest(*data,fillvalue=''): print '\t'.join(map(' ' . join,columns))
Result1과 Result2라는 리스트 형태의 변수를 data 변수안에 넣고 싶으신 거라면 Result1과 2를 감싸고 있는 ''만 제거해주셔도 됩니다. 수정된 코드는 다음과 같습니다.
from itertools import zip_longest data = [(Result1),(Result2)] for columns in izip_longest(*data,fillvalue=''): print '\t'.join(map(' ' . join,columns))
======================================== 2번
print 'Interpolation method: ', interp for it, out in zip(Time, Result1): print "%3.1d"%(it) + 'hr', '%10.3f'%(out) print 'Interpolation method: ', interp for it, out in zip(Time, Result2): print "%3.1d"%(it) + 'hr', '%10.3f'%(out)
Time, Result1, Result2 형태로 출력하고자 하시는 경우, 다음과 같이 수정하시면 됩니다.
print 'Interpolation method: ', interp for it, middle, out in zip(Time, Result1, Result2): print "%3.1d"%(it) + 'hr', '%10.3f'%(middle), '%10.3f'%(out)
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
-
참고하세요.
r1 = {'1hr':1, '2hr':2, '3hr':3} r2 = {'1hr':10, '2hr':20, '3hr':30} d = {k:(v1, v2) for k, v1, v2 in zip(r1.keys(), r1.values(), r2.values())} for k in d.keys(): print(k, d[k][0], d[k][1]) 1hr 1 10 2hr 2 20 3hr 3 30
댓글 입력