Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] 중첩된 리스트를 평탄화하여 1차원 리스트로 변환하기 본문
중첩된 리스트를 평탄화하여 1차원 리스트로 변환하는 것은 파이썬에서 종종 필요한 작업 중 하나입니다. 이를 통해 리스트의 중첩된 구조를 제거하고 데이터를 단순화할 수 있습니다. 여러 가지 방법으로 중첩된 리스트를 평탄화할 수 있습니다. 이를 예제와 함께 살펴보겠습니다.
1: 리스트 comprehension과 재귀 함수를 사용하여 평탄화
# 중첩된 리스트를 평탄화하는 함수 정의
def flatten_list(nested_list):
flattened_list = []
for element in nested_list:
if isinstance(element, list):
flattened_list.extend(flatten_list(element))
else:
flattened_list.append(element)
return flattened_list
# 중첩된 리스트
nested_list = [[1, 2, [3, 4]], [5, 6], 7, [8, 9]]
# 평탄화된 리스트 생성
flat_list = flatten_list(nested_list)
print("평탄화된 리스트:", flat_list)
2: itertools.chain을 사용하여 평탄화
import itertools
# 중첩된 리스트
nested_list = [[1, 2, [3, 4]], [5, 6], 7, [8, 9]]
# itertools.chain을 사용하여 평탄화된 리스트 생성
flat_list = list(itertools.chain.from_iterable(nested_list))
print("평탄화된 리스트:", flat_list)
3: 리스트 comprehension을 사용하여 평탄화
# 중첩된 리스트
nested_list = [[1, 2, [3, 4]], [5, 6], 7, [8, 9]]
# 리스트 comprehension을 사용하여 평탄화된 리스트 생성
flat_list = [element for sublist in nested_list for element in (sublist if isinstance(sublist, list) else [sublist])]
print("평탄화된 리스트:", flat_list)
위의 예제에서는 중첩된 리스트를 평탄화하는 세 가지 방법을 보여주었습니다. 첫 번째 방법은 리스트 comprehension과 재귀 함수를 사용하는 것이며, 두 번째 방법은 itertools 모듈의 chain 함수를 사용하는 것입니다. 세 번째 방법은 리스트 comprehension을 사용하여 중첩된 리스트를 평탄화하는 것입니다.
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] 두 날짜나 시간을 비교하는 방법 (0) | 2024.02.29 |
---|---|
[Python/파이썬] 16진수로 표현된 문자열을 정수로 변환하는 방법 (0) | 2024.02.29 |
[Python/파이썬] 문자열을 공백을 기준으로 분리하는 여러 가지 방법 (0) | 2024.02.29 |
[Python/파이썬] 문자열의 앞이나 뒤에 0으로 채우는 방법 (0) | 2024.02.29 |
[Python/파이썬] 두 리스트에서 공통된 요소 값을 찾는 방법 (0) | 2024.02.29 |