Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 얕은 목록을 평면화하는 방법은 무엇입니까?

<시간/>

간단하고 간단한 솔루션은 두 개의 중첩 for 루프를 사용하여 단순 목록의 하위 목록에서 항목을 추가하는 것입니다.

lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]]
flatlist = []
for sublist in lst:
   for item in sublist:
      flatlist.append(item)
print (flatlist)

더 간결하고 Pythonic한 솔루션은 itertools 모듈에서 chain() 함수를 사용하는 것입니다.

>>> lst  =[[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110, 120]]
>>> import itertools
>>> flatlist = list(itertools.chain(*lst))
>>> flatlist
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120]