> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 `zip([iter(s)]*n)`은 어떻게 목록을 청크합니까?

Python에서 `zip([iter(s)]*n)`은 어떻게 목록을 청크합니까?

DDD
풀어 주다: 2024-11-24 22:26:15
원래의
707명이 탐색했습니다.

How does `zip([iter(s)]*n)` Chunk a List in Python?

청킹 목록용 Zip: zip 이해([iter(s)]n)

zip() 함수는 여러 반복 가능 항목의 요소를 튜플 목록으로 결합하는 Python의 강력한 도구입니다. 그 유용성은 목록을 동일한 크기의 덩어리로 분할하는 것을 포함하여 다양한 응용 프로그램으로 확장됩니다. zip([iter(s)]n) 표현식은 이를 달성하는 간결한 방법입니다.

이 표현식의 작동 방식을 이해하기 위해 해당 표현식을 구성 요소로 나누어 보겠습니다.

  • iter(s): 이는 목록에 대한 반복자를 생성하여 해당 항목을 단계별로 실행할 수 있도록 합니다.
  • [iter(s)]*n: 이 줄은 반복자의 n 복사본 목록을 생성하여 동일한 목록에 n 뷰를 효과적으로 제공합니다.
  • *: 별표(또는 표시) 연산자는 반복자 목록을 개별 인수로 압축 해제합니다. zip().

결과적으로 zip()은 각각 동일한 목록을 나타내는 n개의 반복기로 호출됩니다. 이로 인해 zip()은 각 반복자에서 하나의 요소를 가져와 튜플을 생성합니다. 모든 반복자가 소진되어 튜플 목록이 생성될 때까지 프로세스가 계속됩니다.

설명하기 위해 목록 s = [1,2,3,4,5,6,7,8]이 포함된 예를 고려해 보겠습니다. ,9] 및 n = 3. zip([iter(s)]n) 표현식은 다음을 생성합니다. [(1,2,3),(4,5,6),(7,8,9)].

표현식을 좀 더 자세한 코드로 확장하면 다음과 같습니다.

x = iter(s)
y = iter(s)
z = iter(s)
chunked_list = list(zip(x, y, z))
로그인 후 복사

이 코드는 간결한 표현식 zip([iter(s)]n)과 동일한 결과를 생성합니다. 본질적으로 iter()는 반복자를 생성하고, [iter(s)]*n은 동일한 목록에 대한 여러 보기를 생성하고, splat 연산자는 반복자의 압축을 풀어 zip()이 각 요소의 요소를 튜플로 결합할 수 있도록 합니다.

위 내용은 Python에서 `zip([iter(s)]*n)`은 어떻게 목록을 청크합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿