개발 공부/Python
-
[Python] List와 Set에서의 in 연산자 성능 비교하기.개발 공부/Python 2021. 6. 22. 15:21
in 연산자를 쓸 때는 set으로 바꿔서 쓰면 빠르다. List에서 in 연산자를 사용하면 사실 상 for문을 한번 도는 것이기 때문에 선형 시간인 O(n)의 시간 복잡도를 가집니다. 제 주변에서 이를 모르고 사용하다가 알고리즘 문제에서 Timeout이 걸리는 경우를 종종 보았는데, List에서 set으로 바꾸고 in 연산을 하면 이러한 부담이 많이 줄어들게 됩니다. List 자료형에서는 in 연산자의 시간 복잡도는 O(n)입니다. a = list(range(1, 10000001)) print(1 in a) # 첫번째 값 print(10000000 in a) # 마지막 값 0.17809176445007324 0.45179247856140137 그래서 1 ~ 10,000,000의 값을 가진 리스트에서 맨 ..
-
[Python] map, int, str 등의 내장 함수는 클래스 타입인데 왜 "함수"라고 부를까?개발 공부/Python 2021. 6. 14. 10:19
예전에 파이썬 수업을 들으면서 궁금했던 점이 있었고, 해당 내용에 대한 정보를 지금이나마 공유하려고 합니다. 파이썬에서 사용하는 int, str, float 등은 클래스라고 알려져 있습니다. 그런데 파이썬 공식문서에서는 이들을 내장 함수라고 분류를 했는데요. 왜 내장 클래스가 아니라 내장 "함수" 라고 하는걸까요? 링크: 왜 파이썬에서 Map과 Filter가 실제로는 함수가 아닌가? 저는 이 외국 블로그를 참고했는데, 여기에 보면 map이나 filter같은 파이썬 내장함수는 사실 함수가 아니라 클래스라고 합니다. map and filter aren’t really functions. They are all actually classes, and when we “call” these functions, w..