728x90
어릴 때 난 이중 리스트를 하나의 리스트로 변환할 때
새로운 리스트 하나 만들어서 이중 for문 돌면서 하나하나 append 해주었다.
시간 복잡도가 너무 커져 배보다 배꼽이 큰 상황이었던 것이다!
이중 리스트를 단일 리스트로 간단하게 변환하는 두 가지 방법으로는
- sum() 함수 사용
- np.hstack() 함수 사용
이 있다.
아래에 이런 이중 리스트가 있다고 가정하고, 두 가지 방법에 대해 알아보자!
# 이중 리스트
double_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
1. sum() 함수 사용하기
나만 그런건지 모르겠지만 난 sum 함수는 단순히 합해주는 함수로만 생각했다.
하지만 이중 리스트를 하나의 리스트로 변환할 때
sum(이중 리스트, []) 형식으로 사용할 수 있다.
# 이중 리스트
double_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 단일 리스트로 변환
single_list = sum(double_list, [])
print(single_list) # 결과: [1, 2, 3, 4, 5, 6, 7, 8, 9]
sum() 함수의 첫 번째 파라미터로는 이중 리스트를 넣고, 두 번째 파라미터로 빈 리스트([])를 넣어주면 이중 리스트를 펼친 단일 리스트로 만들어 준다.
2. np.hstack() 사용하기
Numpy를 사용해서도 이중 리스트를 하나의 리스트로 풀어낼 수 있다.
이때 사용하는 것이 np.hstack()이다.
import numpy as np
# 이중 리스트
double_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 단일 리스트로
single_list = np.hstack(double_list)
print(single_list) # 결과: [1 2 3 4 5 6 7 8 9]
np.hstack()함수는 넘파이에서 주어진 리스트나 배열들을 수평으로 쌓아서 1차원 배열로 만들어주는 함수이다.
728x90
'Programming Languages > Python' 카테고리의 다른 글
[Python] while문과 for문의 반복 종료조건 차이 (0) | 2023.04.05 |
---|---|
[Python] 오름차순 정렬 (0) | 2023.03.31 |
[Python] format 메서드 (0) | 2023.01.20 |
[에러] TypeError: can only concatenate str (0) | 2023.01.20 |
[Python] 어떤 메서드 들어있는 지 확인하기 (dir 함수) (0) | 2023.01.06 |