코딩테스트 완료
java가 더 편하다고 행각했는데 python 하다보니 python이 더 편한것 같기도
log 파일 분석테스트 였는데 처음에 DataFrame으로 가공 했더니 file I/O 이나 출력 부분에서 에로 사항이 있었다.
그래서 딕셔너리 형태로 재작업 하였다. 훨씬 편했다.. (멍청이) 진짜 공부 안하냐
작업하면서 배운 것들
- 정규 표현식 특정 문자 사이의 문자/문자열 검색
re.search('=(.+?)&',i) # = 와 & 사이의 문자열을 모두 찾아준다.
url parameter의 특정값 뽑기 유용했다.
- Dictionary 사용
# 2개의 list를 key 와 value 형태로 딕셔너리 생성 하기
key = ['A','B','C']
value = [0,1,2]
test = dict(zip(key, value))
print(test)
>> {'A':0, 'B':1, 'C':2}
# value값으로 정렬 하기
test = {'A':0, 'B':1, 'C':2}
test2 = sorted(test.items(),key=lambda x:x[1], reverse=True) # 내림차순정렬
# reverse=True 옵션 삭제시 오름차순정렬
print(test2)
>> [('C':2),('B':1,),('A':0)]
sorted 함수는 key 를 받을 수 있는데, 여기서 lambda 식을 사용하여 튜플에서 1 번째 index를 기준으로 정렬하는 것
생물정보학자의 블로그
해당 블로그에서는 딕셔너리를 튜플로 변환한뒤 정렬 하는데 딕셔너리 상태에서도 정렬은 됨
단 정렬이후 튜플로 반환된다. 뭐 다시 변환해주면 해결
# 딕셔너리의 key value 를 한꺼번에 다루기 items() 사용
test = {'A':0, 'B':1, 'C':2}
for key, value in test.items():
print(key, ' : ', value)
>> A : 0
B : 1
C : 2