본문 바로가기
Coding/초보자를 위한 파이썬 300제

초보자를 위한 파이썬 300제 // 199 slicing

by 포스트it 2021. 2. 23.
반응형

 

문제

리스트에는 3일 간의 ohlc 데이터가 저장돼 있다. 종가가 시가보다 높은 날의 변동성 (고가 - 저가)을 화면에 출력하라.

ohlc = [["open", "high", "low", "close"],
        [100, 110, 70, 100],
        [200, 210, 180, 190],
        [300, 310, 300, 310]]

종가가 시가보다 높은 거래일의 OHLC는 [300, 310, 300, 310] 이다. 따라서 이 거래일의 변동성은 10 (310 - 300)이다.

10

내풀이

ohlc = [["open", "high", "low", "close"],
        [100, 110, 70, 100],
        [200, 210, 180, 190],
        [300, 310, 300, 310]]
result = []
for i in ohlc[1:]:
    if i[0] < i[3]:
        print(i[1] - i[2])
        
결과값
10

정답

for row in ohlc[1:]:
    if row[3] > row[0]:
        print(row[1]-row[2])

시가 : open
변동성 : high - low
종가 : close

첫 리스트는 문자열이기때문에 ohlc[1:] 슬라이싱을 해줘야 인덱스 끼리 빼기가 가능하다.

 

728x90
반응형

댓글