>  기사  >  백엔드 개발  >  Python의 생성기 또는 목록에서 상위 N개 항목을 검색할 수 있나요?

Python의 생성기 또는 목록에서 상위 N개 항목을 검색할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-20 20:03:30976검색

Can I retrieve the top N items from a generator or list in Python?

Python의 생성기 또는 목록에서 상위 N개 항목 가져오기

이 질문에서 사용자는 LINQ에 해당하는 Python에 대해 문의합니다. Take(5) 명령을 사용하여 배열에서 처음 5개 요소를 검색합니다. 이 요청을 해결하기 위해 여러 솔루션이 제공됩니다.

목록 분할

Python 목록은 다음 구문을 사용하여 분할할 수 있습니다.

array[start:stop:step]

각 매개변수를 생략할 수 있는 경우 다음과 같은 유효한 조각이 생성됩니다.

  • array[start:]
  • array[:stop]
  • array[::step ]

예:

top5 = array[:5]

생성기 슬라이싱

Python에서 생성기를 직접 슬라이싱하는 것은 불가능합니다. 대신 다음 구문을 허용하는 itertools.islice() 함수를 사용할 수 있습니다.

itertools.islice(generator, start, stop, step)

itertools.islice()를 사용하면 생성기의 처음 5개 요소를 얻을 수 있습니다.

import itertools
top5 = itertools.islice(my_list, 5)

추가 고려 사항

발전기를 절단할 때 부분적으로 소진된다는 점에 유의해야 합니다. 생성기를 그대로 유지하려면 먼저 다음과 같이 튜플이나 목록으로 변환하는 것을 고려하세요.

result = tuple(generator)

위 내용은 Python의 생성기 또는 목록에서 상위 N개 항목을 검색할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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