라벨이 list comprehension인 게시물 표시

2020.06.06 리스트를 단 한줄로 만들자, List Comprehension과 리스트 생성의 성능 비교

이미지
이번 일일 파이썬 주제는 List Comprehension 입니다. 파이썬을 배우시는 분 들이라면 한 번쯤 배워본 문법일 테고, 리스트를 단 한 줄 코드로 생성하는 깔끔한 특성 때문에 많이들 애용하고 계실 겁니다. 사실 저는 List Comprehension(리스트 컴프리헨션)을 그렇게 많이 사용하는 편은 아닙니다. 물론 코드의 행을 줄일 수록 전체적인 코드가 간결 해진다는 장점 도 있을 것이며, 리스트 컴프리헨션을 사용한 행을 보고 '아 이 코드는 리스트를 생성하는 코드 구나' 쉽게 알아볼 수 있기 때문에 좋긴 하지만, 문제는 그 한 줄이 너무나도 길어질 수 있고, 그 한 줄을 해석하는 데 영겁의 시간이 걸리는 경우 가 잦아지는, 즉 코드의 복잡도를 증가시키는 문제가 있었기 때문에(물론 이건 실력이 부족한 저의 문제...) 기어이 고집을 부려가면서, 강제로 for문 몇개 집어 넣어 가면서, append로 꾸역꾸역 데이터를 집어넣으면서 리스트를 만들고 그랬죠. 리스트 컴프리헨션 안쓸꺼야!!! 하지만 최근에 미디움을 돌아다니면서, 리스트 컴프리헨션이 성능이 굳이 반복문 돌리고 append 함수 사용하는 것보다 월등히 뛰어나다는 것을 알게 되면서... 부랴부랴 코딩할 때 리스트 컴프리헨션을 공부하기 시작했고, 이 내용은 공유하면 좋겠다고 생각하여 일일 파이썬 주제로 사용하게 되었습니다. 제가 참조한 미디움 글은 아래의 글입니다. Faster Lists In Python See what list actions are the fastest in Python to speed up your programs. David Tippett  in  Level Up Coding 이 글은 제가 이제부터 소개 드릴 리스트 생성의 성능 개선 파트 말고도, 리스트를 정렬하는 방법 중 가장 성능이 좋은 방법 에 대해서도 big O 표기법를 통해 설명하고 있으...