zip함수는 따로 존재하는 리스트들을 모아서 하나로 패키징 해 주는 함수입니다.
예를 들어 아래처럼 날짜, 시가, 고가, 저가, 종가 리스트가 각각 존재할 때 이를 (날짜, 시가, 고가, 저가, 종가)의 배열로 모으는 아주 유용한 함수입니다.
date = ['2020/2/14','2020/2/13','2020/2/12','2020/2/11','2020/2/10','2020/2/7','2020/2/6','2020/2/5','2020/2/4']
open = [60900, 61200,60300,59800,59200,61100,60100,60000,57100]
high = [61900,61600,60700,60700,59800,61200,61100,60200,59000]
low = [60200,60500 ,59700 ,59700 ,59100 ,59700 ,59700 ,58900 ,56800]
close = [61800,60700 ,60500 ,59900 ,59700 ,60400 ,61100 ,59500 ,58900]
위 5개 리스트를 하나의 그룹으로 합치는 코드는 아래와 같습니다.
zipData = zip(date, open, high, low, close)
print(type(zipData), zipData)
zip 함수의 리턴 type은 'zip' 클래스인데 list, tuple 등 원하는 type으로 변경이 가능합니다.
위 코드의 실행 결과
<class 'zip'> <zip object at 0x0000026797BCE6C8>
리스트로 만드려면 list(zipdata) 식으로 타입 변환해 주면 됩니다.
listData = list(zipData)
for i, data in enumerate(listData):
print(data)
if (i > 10) :
break
코드의 실행결과는 아래와 같습니다. 코드 한줄로 간단하게 여러 리스트를 모아주어서 아주 편리합니다.
('2020/2/14', 60900, 61900, 60200, 61800)
('2020/2/13', 61200, 61600, 60500, 60700)
('2020/2/12', 60300, 60700, 59700, 60500)
('2020/2/11', 59800, 60700, 59700, 59900)
('2020/2/10', 59200, 59800, 59100, 59700)
('2020/2/7', 61100, 61200, 59700, 60400)
('2020/2/6', 60100, 61100, 59700, 61100)
('2020/2/5', 60000, 60200, 58900, 59500)
('2020/2/4', 57100, 59000, 56800, 58900)
zip으로 묶은 데이터는 다시 원래대로 분해시킬 수 있습니다.
분해시킬 때는 zip(*list data) 식으로 하면 되는데 아래 코드처럼 하면 됩니다.
date2, open2, high2, low2, close2 = zip(*listData)
print('date2:', type(date2), date2)
print('close2:', type(close2), close2)
마지막 코드를 수행한 결과는 아래와 같습니다.
date2: <class 'tuple'> ('2020/2/14', '2020/2/13', '2020/2/12', '2020/2/11', '2020/2/10', '2020/2/7', '2020/2/6', '2020/2/5', '2020/2/4')
close2: <class 'tuple'> (61800, 60700, 60500, 59900, 59700, 60400, 61100, 59500, 58900)
'개발 > 파이썬' 카테고리의 다른 글
[파이썬] 특정 버전 패키지 설치 (0) | 2020.02.29 |
---|---|
[파이썬] urllib 사용시 urlopen error unknown url type: https 오류 처리 (2) | 2020.02.29 |
[파이썬] 부동산 API로 아파트 매매 실거래가 구하기 (2) | 2020.02.28 |
파이썬 아나콘다 32비트 설치/재설치 (4) | 2019.11.14 |
[파이썬] 딕셔너리를 이용한 카운팅, 정렬 예제 (2) | 2019.11.02 |
[파이썬] 웹 페이지 스크랩 하기(BeautifulSoup 이용) (2) | 2019.10.20 |
댓글