목록의 두 요소마다 반복
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!