← All Articles

2021.01.20 (수)

Posted on

코딩테스트 완료
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