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

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

Barbara Streisand
Barbara Streisand원래의
2024-12-23 14:01:14492검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.