본문으로 건너뛰기
Minsing Log
뒤로 가기

flatten하기

Programming & CS

상황

리스트로 된 요소들이 있는 pandas dataframe을 flatten해서 list로 바꾸는 작업을 list comprehesion으로 해결했다. 하지만 이는 list comprehension을 오남용해서 가독성이 훨씬 떨어지는 코드다.

[passage for lst_passage in make_passages['passages'] for passage in lst_passage]

해결법

  1. itertools 사용
import itertools

passages = list(itertools.chain.from_iterable(make_passages['passages']))
  1. 언패킹(* 사용)
passages = list(*passage for passage in make_passages['passages'])
  1. 함수
def flatten_list(nested_list):
   return [item for sublist in nested_list for item in sublist]

passages = flatten_list(make_passages['passages'])

공개 여정 구독

글이 올라오면 이메일로 보내드릴게요.

개발, 창업, 배움, 실패와 회고를 짧고 솔직하게 기록합니다. 검색으로 스쳐가는 독자가 아니라 여정을 따라오는 팬을 만들기 위한 뉴스레터입니다.

뉴스레터는 준비 중입니다. 그동안 RSS 로 구독하거나 이메일 로 알림을 요청해 주세요.


이 글 공유하기:

댓글

GitHub 계정으로 로그인해 댓글을 남길 수 있습니다.


이전 글
apply로 여러개 dataframe 만들기
다음 글
apply 함수