조건에 따라 목록 분할
주어진 조건에 따라 목록을 둘로 분할할 때 목록을 두 번 반복하고 싶은 유혹이 듭니다. 다음과 같이 두 개의 새 목록을 생성합니다.
good = [x for x in mylist if x in goodvals] bad = [x for x in mylist if x not in goodvals]
그러나 이 접근 방식에는 두 개의 별도 목록이 필요합니다. 목록에 대한 반복은 비효율적일 수 있습니다. 성능을 향상하려면 조건부 추가가 포함된 수동 반복 사용을 고려하세요.
good, bad = [], [] for x in mylist: (bad, good)[x in goodvals].append(x)
이 코드에서는
이 접근 방식은 두 번의 개별 반복이 필요하지 않으므로 순회를 2에서 1로 나열합니다. 또한 간결하고 읽기 쉬운 방식으로 분할 논리를 포착하므로 더욱 우아한 것으로 간주됩니다.
위 내용은 조건에 따라 목록을 효율적으로 분할하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!