[AITech] 20220118 - 회고

1 minute read


피어세션 정리

오늘 피어세션에서는 어제까지의 팀원들의 학습 진도를 확인하고 조율하였다. 결과적으로 내일(수)까지 수강할 강의 및 과제에 대한 분량을 정하였다.

또한, 강의 중 이해가 완벽히 가지 않았던 가변 인자를 사용할 때의 Asterisk(*)Decoration function의 동작 방식 및 사용 예시에 대해 팀원들과 토론하였다. 이런 것이 피어세션의 순기능이라고 생각하고, 앞으로 계속해서 난이도가 높아질 강의와 과제에 있어 팀원들과 힘을 합쳐 헤쳐나갈 수 있었으면 좋겠다.


과제 수행 과정/결과물

1. Basic_Math

리스트에서 최댓값, 최솟값, 평균값, 중간값을 찾는 문제였습니다.

2. Text_Processing_I

문자열을 다루는 문제로, join(), lower(), split() 등의 메서드와 리스트 내포문을 사용하였습니다.

3. Text_Processing_II

마찬가지로 문자열을 다루는 문제였습니다.

문자열에서 특정 문자를 다른 문자로 치환(매핑)해주기 위해 딕셔너리를 활용하였습니다.


문자열.split() 메서드를 사용할 때, 인자로 아무것도 넘겨주지 않으면 default delimeter로 공백(“ “)이 모두 삭제되는데, 특정 문자를 delimeter로 지정할 경우 그 문자가 2번 이상 연속되어 나타날 때 그 부분에서 하나만 삭제되고 다른 인접한 문자들은 공백 문자(‘ ‘)로 변환되어 남게 된다는 것을 알았습니다.

이는 그 특정 문자로 공백(“ “)을 지정해 줄 때도 마찬가지입니다!

str_ex = "abc&de&&fgh"
print(str_ex.split('&'))
str_ex_2 = "abc   def"
print(str_ex_2.split(" "))
str_ex_2 = "abc   def"
print(str_ex_2.split())

'''
['abc', 'de', '', 'fgh']
['abc', '', '', 'def']
['abc', 'def']
'''

따라서 이런 경우에는 그 특정 문자를 먼저 공백으로 replace(특정문자," ") 해주고, split()을 사용하는 것이 방법이 될 수 있습니다.


또한 리스트 내포문에서 if와 if-else를 사용할 때 문법이 다른 것을 알았습니다. if문 만을 사용하는 경우 for문의 맨 뒤에 조건문으로 위치하고, if-else 문을 사용하는 경우 for문의 앞에 삼항연산자로 위치합니다.

# if
digit_string = " ".join([digit_to_word[w] for w in input_string if w in digit_to_word])
# if-else
camelscore_list = [w.capitalize() if i != 0 else w.lower() for (i,w) in enumerate(underscore_list)]


학습 회고

오늘은 파이썬의 자료구조, 파이써닉 코딩, 모듈과 프로젝트, 예외/파일/로그 핸들링 등에 대하여 학습하였다.

파이썬을 계속해서 써왔기에 어려운 내용은 아니었지만, 단기간에 여러 내용을 듣고 학습하다 보니 정리하고 내 것으로 만드는 것이 쉽지는 않았다.

그래도 강의와 과제에서 몰랐던 혹은 중요한 부분들을 많이 얻어가는 것 같아 파이썬에 대한 활용도가 한 층 더 상승한 것 같다.

이렇게 처음부터 차근차근 정리하다 보면 이후에도 큰 도움이 될 것이라 생각한다.

Leave a comment