저번 포스팅에 이어서 파이썬 기초 이론에 대하여 정리 해 보았습니다.
파이썬의 자료 구조 종류
스택(Stack)
큐(Queue)
우선순위 큐(Priority Queue)
데이터를 추가는 어떤 순서대로 해도 상관없으나 제거될 떄는 가장 작은 값을 제거하는 독특한 특성을 지닌 자료구조 <내부적으로 데이터를 정렬된 상태로 복관하는 메커니즘 존재>
우선순위 큐를 구현한 모듈은 queue내장 모듈과 heapq모듈을 이용하여서도 사용을 할 수 있다.
queue 모듈 사용
heapq 모듈 사용
튜플(Tuple)
집합(Set)
사전(Dictionary)
파이썬의 리스트, 튜플, 사전(딕셔너리)에 대한 Python Built-in 확장 자료 구조(모듈)이다.
편의성과 실행 효율 측면에서 기존 자료구조보다 뛰어남
deque
orderedDict
defaultdict
<추가적인 팁>
딕셔너리 정렬을 할 시 items()로 key와 value를 튜플 형태의 리스트로 받아 온다음 정렬을 함
파이썬 특유의 문법을 활용하여 효율적인 코드를 작성
현재는 많은 언어들이 서로의 장점을 채용하여 사용하는 추세
split & join
List Comprehension
enumerate & zip
lambda & map & reduce
Iterable Object
Generator
Function Passing Argument
keyword args : 함수에 입력되는 파라미터의 변수명을 사용, argument를 넘김
default args : 입력하지 않을 경우 기본값 출력
variable-length args
1, 개수가 정해지지 않은 변수를 함수의 파라미터로 사용
2, Asterisk()기호를 사용
3, 인자로 받아온 후 tuple 타입으로 사용 가능
4, 일반 가변인자일 시 ""를 사용하고 키워드 가변인자일 시 (**)를 사용
5, 일반 가변인자와 키워드 가변인자를 사용 할 시 파라미터 입력의 순서 맞춰서 넣어야 한다.
<추가사항>
파라미터에 Asterisk(*)기호를 사용하면 unpacking이 일어나 값이 전달된다.(iterable 객체의 원소들이 각각 전달됨)
zip사용시 리스트에 있는 iterable 객체들을 병렬적으로 처리 하고 싶을 때 유용하게 사용된다.
Naver BoostCamp AI Tech - edwith 강의
https://m.blog.naver.com/PostView.nhn?blogId=acornedu&logNo=220934409189&proxyReferer=https:%2F%2Fwww.google.com%2F
https://www.acmicpc.net/board/view/49166
https://www.daleseo.com/python-priority-queue/
https://wikidocs.net/16069
https://www.daleseo.com/python-heapq/
https://bearwoong.tistory.com/85
현재 링크 때문에 스팸 필터가 오작동하고 있는데
스팸이 아닌 포스트에 스팸 필터가 작동하면 제가 수동으로 처리하고 있으니 계속 재작성하지 않으셔도 돼요 :)
알고리즘은 조금 더 손을 보도록 할게요.
이 댓글을 보셔야 할텐데 -