반응형
"Flattening"은 다차원 리스트나 배열을 1차원으로 변환하는 과정을 지칭하는 용어입니다. 다차원 배열은 여러 차원을 가지는 구조로 구성되어 있고, 이를 1차원으로 변환하면 원소들이 단일한 리스트로 표현됩니다.
예를 들어, 다음과 같은 다차원 리스트가 있을 때:
```python
multi_dim_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
```
이 리스트를 1차원으로 변환하면:
flattened_list = [1, 2, 3, 4, 5, 6, 7, 8, 9]
와 같이 flatten된 결과를 얻을 수 있습니다.
Python에서 flatten하는 방법은 다양한 방법으로 구현할 수 있습니다. 일반적으로는 재귀 함수나 리스트 컴프리헨션을 사용하는 방법이 많이 사용됩니다.
재귀 함수를 사용한 예제 코드:
def flatten(lst):
flattened = []
for item in lst:
if isinstance(item, list):
flattened.extend(flatten(item))
else:
flattened.append(item)
return flattened
multi_dim_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_list = flatten(multi_dim_list)
print(flattened_list)
# [1, 2, 3, 4, 5, 6, 7, 8, 9]
리스트 컴프리헨션을 사용한 예제 코드:
def flatten(lst):
return [item for sublist in lst for item in sublist]
multi_dim_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_list = flatten(multi_dim_list)
print(flattened_list)
이와 같은 방법들을 사용하여 2차원 리스트나 다차원 배열을 1차원으로 변환할 수 있습니다.
보다 자세한 내용은 다음 Python 공식 문서를 확인해주세요: [Flattening nested lists with nested comprehensions](https://docs.python.org/3/tutorial/datastructures.html#nested-list-comprehensions)
반응형
댓글