> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 목록 목록을 평면화하는 가장 효율적인 방법은 무엇입니까?

Python에서 목록 목록을 평면화하는 가장 효율적인 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-23 14:01:14
원래의
454명이 탐색했습니다.

What's the Most Efficient Way to Flatten a List of Lists in Python?

목록 목록 평면화

목록 목록 평면화에는 중첩 구조를 단일 수준 목록으로 변환하는 작업이 포함됩니다. Python에서는 여러 가지 방법을 사용하여 이를 달성할 수 있습니다.

중첩 목록 이해

가장 효율적인 방법은 중첩 목록 이해입니다.

flat_list = [x for xs in xss for x in xs]
로그인 후 복사

이 표현식은 각 내부 목록을 반복하고 각 요소를 결과 플랫에 추가합니다. list.

연산자 사용

연산자를 사용하여 목록을 평면화할 수도 있습니다.

flat_list = []
for xs in xss:
    flat_list = flat_list + xs
로그인 후 복사

이 방법은 목록 이해보다 약간 느립니다. 반복되는 목록 연결로 인해.

비어 있는 합계 사용 목록

또 다른 접근 방식은 빈 목록과 함께 sum 함수를 사용합니다.

flat_list = sum(xss, [])
로그인 후 복사

이 방법은 특히 큰 목록의 경우 목록 이해보다 효율성이 떨어집니다.

functools.reduce 사용

마지막으로 functools.reduce 함수를 사용할 수 있습니다:

from functools import reduce
flat_list = reduce(lambda xs, ys: xs + ys, xss)
로그인 후 복사

이 방법도 목록 이해보다 느립니다.

timeit 모듈을 사용한 성능 테스트에서는 목록 이해가 가장 빠른 방법인 것으로 나타났습니다.

위 내용은 Python에서 목록 목록을 평면화하는 가장 효율적인 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿