2011-07-06 5 views
0

성능을 위해 큰 목록 (1000 개가 넘는 항목)을 분할하는 가장 좋은 방법은 무엇입니까? 큰 목록의 "부분"을 사용 하시겠습니까?Python은 큰 목록을 검사 성능을 위해 더 작은 목록으로 분할합니까?

예 : 나는 스캔하고 싶은 10k 주소 목록을 가지고있다. 이 목록을 네 번째로 나누고 섹션을 기준으로 성능을 향상 시키려면 어떻게해야합니까?

+0

당신이 원하는 것과 비슷한 질문이 [이] (http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python)입니다. ? – thegrinner

+0

예 감사합니다. – nobody

+1

목록으로 무엇을하고 있습니까? 왜 성능 향상에 도움이 될 수 있도록 목록을 분할해야합니까? –

답변

0

전체 목록에서 작업을 수행하려고하지만 순차적으로 수행하는 속도가 느립니까? 나는 당신이 노동자 풀을 원한다고 생각합니다. this가 도움이 되나요?

2

목록의 모든 요소를 ​​읽는 경우 실제로는 성능이 저하됩니다. 프로그램을 프로파일 링해야합니다 (충분히 간단하게 만들 수 있다면 여기에 질문에 게시하십시오).

모든 요소를 ​​읽지 않는다면 왜 처음에는 목록을 사용하고 있습니까? set 또는 dict을 사용하십시오. 두 작업 모두 매우 빠릅니다.

1

임의의 목록을 더 작은 청크로 분할하는 방법에 대한 질문은 this에 대한 대답을 참조하십시오. 명시 적으로 성능 향상을 다루지는 않으므로 원하는 경우 작은 목록을 실제로 조작하기 위해 multiprocessing 모듈을 조사하는 것이 좋습니다.

관련 문제