> 백엔드 개발 > 파이썬 튜토리얼 > Python 목록의 요소 쌍이나 그룹을 어떻게 반복할 수 있나요?

Python 목록의 요소 쌍이나 그룹을 어떻게 반복할 수 있나요?

Susan Sarandon
풀어 주다: 2024-12-15 21:20:13
원래의
607명이 탐색했습니다.

How Can I Iterate Over Pairs or Groups of Elements in a Python List?

목록의 두 요소마다 반복

Python에서 목록을 반복하려면 for 루프나 목록 이해를 사용하는 경우가 많습니다. 그러나 모든 두 요소에 함께 액세스해야 하는 경우 표준 방법으로는 충분하지 않을 수 있습니다.

목록에 있는 모든 요소 쌍을 반복하려면 pairwise()를 활용하면 됩니다. 구현:

def pairwise(iterable):
    "s -> (s0, s1), (s2, s3), (s4, s5), ..."
    a = iter(iterable)
    return zip(a, a)

l = [1, 2, 3, 4, 5, 6]

for x, y in pairwise(l):
    print(f"{x} + {y} = {x + y}")
로그인 후 복사

이 함수는 목록을 두 번 반복하여 모든 요소를 ​​다음 요소와 쌍으로 연결합니다. 다음과 유사한 출력이 생성됩니다.

1 + 2 = 3
3 + 4 = 7
5 + 6 = 11
로그인 후 복사

보다 일반적인 솔루션을 위해 n 요소 그룹을 반복할 수 있는 grouped() 함수를 고려하세요.

def grouped(iterable, n):
    "s -> (s0,s1,s2,...sn-1), (sn,sn+1,sn+2,...s2n-1), (s2n,s2n+1,s2n+2,...s3n-1), ..."
    return zip(*[iter(iterable)] * n)

for x, y in grouped(l, 2):
    print(f"{x} + {y} = {x + y}")
로그인 후 복사

이 함수는 목록과 그룹 크기를 인수로 사용하고 요소 그룹을 생성하는 반복자를 반환합니다. 예를 들어 grouped([1, 2, 3, 4, 5, 6], 3)을 호출하면 다음과 같은 결과가 나옵니다.

(1, 2, 3)
(4, 5, 6)
로그인 후 복사

Python 2에서는 을 사용할 수 있습니다. 호환성을 위해 zip 대신 izip을 사용하세요.

메서드는 목록의 요소를 반복하는 효율적이고 유연한 방법을 제공하므로 필요에 따라 요소를 쌍이나 그룹으로 처리할 수 있습니다.

위 내용은 Python 목록의 요소 쌍이나 그룹을 어떻게 반복할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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