>백엔드 개발 >파이썬 튜토리얼 >조건부 필터를 기반으로 목록을 효율적으로 분할하려면 어떻게 해야 합니까?

조건부 필터를 기반으로 목록을 효율적으로 분할하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-03 15:58:15521검색

How Can We Efficiently Partition a List Based on a Conditional Filter?

조건부 필터링을 기반으로 한 효율적인 목록 분할

조건에 따라 목록을 두 개의 하위 목록으로 분할해야 한다는 점을 고려하세요. 순진한 접근 방식에서는 각 하위 목록에 대해 한 번씩 목록을 두 번 반복해야 합니다. 효율적이고 우아한 대안을 찾기 위해 몇 가지 옵션을 살펴봅니다.

한 가지 접근 방식은 목록을 수동으로 반복하고 조건부 검사에 따라 각 요소를 적절한 하위 목록에 동적으로 추가하는 것입니다. 이는 아래 코드에서 설명됩니다.

good, bad = [], []
for x in mylist:
    (bad, good)[x in goodvals].append(x)

이 코드에서 (bad, good) 표현식은 goodvals의 x 부울 값에 따라 bad 또는 good으로 평가됩니다. 그런 다음 선택한 하위 목록의 추가() 메서드가 호출되어 현재 요소를 추가합니다.

이 접근 방식은 여러 번의 반복이 필요하지 않고 간결한 목록 이해를 사용함으로써 두 가지 방법에 비해 성능과 코드 가독성 이점을 모두 제공합니다. 반복 구현.

위 내용은 조건부 필터를 기반으로 목록을 효율적으로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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