flatten하기

minsing-jin·2023년 11월 17일
0

상황

리스트로 된 요소들이 있는 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'])
profile
why not? 정신으로 맨땅에 헤딩하고 있는 코린이

0개의 댓글