본문 바로가기

Python

[데이터 처리] 다양한 형태로 리스트 변환

[데이터 처리] 다양한 형태로 리스트 변환

분 리스트를 초 리스트로 변환

>>> mins=[1,2,3]
>>> secs=[m*60 for m in mins]  # 분 값에 60을 곱해주면 초 값이 나옵니다.
>>> secs
[60, 120, 180]

미터를 피트로 변환

>>> meters=[1,10,3]
>>> feet=[m*3.281 for m in meters]
>>> feet
[3.281, 32.81, 9.843]

소문자를 대문자로 변환

>>> lower=["I", "don't", "like", "spam"]
>>> upper=[s.upper() for s in lower]    # upper() 메서드를 사용합니다.
>>> upper
['I', "DON'T", 'LIKE', 'SPAM']


sanitize() 함수를 사용해 리스트 가공

>>> def sanitize(time_string):
             if '-' in time_string:
                     splitter='-'
             elif ':' in time_string:
                     splitter=':'
             else:
                     return(time_string)
             (mins, secs)=time_string.split(splitter)
             return(mins+'.'+secs)

>>> dirty=['2:58', '2.58', '2:39', '2-25', '2-55', '2:54', '2.18', '2:55', '2:55']
>>> clean=[sanitize(t) for t in dirty]
>>> clean
['2.58', '2.58', '2.39', '2.25', '2.55', '2.54', '2.18', '2.55', '2.55']

dirty 리스트의 ':'와 '-'가 모두 '.'으로 바뀌었습니다.