더북(TheBook)

기상 관측소 데이터를 namedtuple 기반의 목록으로 만드는 더 깔끔한 코드는 다음과 같습니다.

zip()을 이용하여 여러 개의 파일을 열고 읽기

>>> stations = []
>>> with (                                               # ➊
...     open("station-names.txt") as names,
...     open("station-latitudes.txt") as lats,
...     open("station-longitudes.txt") as lons,
...     open("station-elevations.txt") as els,
... ):
...     for data in zip(names, lats, lons, els):
...         data = (field.rstrip() for field in data)
...         stations.append(Station(*data))
...
>>> assert len(stations) == 1255
>>> pprint(stations[:4])
[Station(name='JAN MAYEN NOR NAVY', latitude='70.9333333', longitude='-8.6666667', elevation='9.0'),
 Station(name='SORSTOKKEN', latitude='59.791925', longitude='5.34085', elevation='48.76'),
 Station(name='VERLEGENHUKEN', latitude='80.05', longitude='16.25', elevation='8.0'),
 Station(name='HORNSUND', latitude='77.0', longitude='15.5', elevation='12.0')]

➊ 괄호를 사용한 상황 정보 관리자는 파이썬 3.10부터 도입되었습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.