사소한 Tip . 오류 해결법/python

[python] 다차원(2차원 리스트)리스트 1차원으로 풀기 (transform N-dimension list to 1-dimension)

Js.Y 2022. 8. 10. 17:57
728x90
반응형

self 기록용 - 간단한 것 위주

 

1.sum()

=> 시스템 리소스를 많이 사용해서 운영제품 시스템에선 권장하지 않는 방식이라고 한다.

test = [["a", "b"], [1, 2, 3], ["apple", "banana"]]
result_bbox = sum(test, [])
print(result_bbox)
#['a', 'b', 1, 2, 3, 'apple', 'banana']

 

 

2. numpy concatenate 활용

import numpy as np # Numpy 임포트

test = [[1, 2, 3], [4, 5, 6]]
test2 = [["a", "b"], [1, 2, 3], ["apple", "banana"]]

# 3-ways
print(np.array(test).flatten().tolist())
print(list(np.concatenate(test)))
print(np.concatenate(test).tolist())

# 3개 다 동일한 return
#[1, 2, 3, 4, 5, 6] # test 1
#['a', 'b', '1', '2', '3', 'apple', 'banana'] # test2

 

 

3. python 코드로 진행하는 방법

test = [["a", "b"], [1, 2, 3], ["apple", "banana"]]
 
print([x for y in test for x in y])

#['a', 'b', 1, 2, 3, 'apple', 'banana']

 

 

 

4. itertools 패키지 활용하는 방법

import itertools

test = [["a", "b"], [1, 2, 3], ["apple", "banana"]]
print(list(itertools.chain.from_iterable(test)))

#['a', 'b', 1, 2, 3, 'apple', 'banana']

 

 

 

 

 

그 외 다양한 방법은 아래 사이트 참고

 

도움 주신 사이트 : https://blog.naver.com/PostView.nhn?blogId=hankrah&logNo=221929249131 

 

078 중첩 리스트를 풀어서 단순 1차원 리스트로 만들기 - list flatten, 리스트 평탄화

#파이썬 #python #중첩_리스트를_단순_1차원_리스트로_만들기 #list_flatten #리스트_평탄화 #유니파이드_...

blog.naver.com

 

728x90
반응형