반응형
Python 목록에서 인접한 항목 쌍을 통해 반복
Python에서 다음과 같은 방법으로 목록을 반복할 수 있습니까(이 코드를 의사 코드로 처리)
a = [5, 7, 11, 4, 5]
for v, w in a:
print [v, w]
그리고 그것은 생산될 것입니다.
[5, 7]
[7, 11]
[11, 4]
[4, 5]
목록 자체가 첫 번째 요소를 산스할 수 있습니다.
a = [5, 7, 11, 4, 5]
for previous, current in zip(a, a[1:]):
print(previous, current)
이는 목록에 요소가 없거나 요소가 하나만 있는 경우에도 작동합니다(이 경우).zip
빈 반복 가능 항목과 코드를 반환합니다.for
루프가 실행되지 않음).생성기에서는 작동하지 않고 시퀀스에서만 작동합니다.tuple
,list
,str
등).
레시피에서:
from itertools import tee
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return zip(a, b)
for v, w in pairwise(a):
...
그러기 위해서는 다음을 수행해야 합니다.
a = [5, 7, 11, 4, 5]
for i in range(len(a)-1):
print [a[i], a[i+1]]
Python의 목록(원형 방식)에서 쌍을 넘어 거의 말 그대로 반복합니다.
def pairs(seq):
i = iter(seq)
prev = next(i)
for item in i:
yield prev, item
prev = item
>>> a = [5, 7, 11, 4, 5]
>>> for n,k in enumerate(a[:-1]):
... print a[n],a[n+1]
...
5 7
7 11
11 4
4 5
언급URL : https://stackoverflow.com/questions/5764782/iterate-through-adjacent-pairs-of-items-in-a-python-list
반응형
'programing' 카테고리의 다른 글
가져오기 오류: 'yaml'이라는 이름의 모듈이 없습니다. (0) | 2023.05.16 |
---|---|
여러 원격 위치에서 풀/푸시하려면 어떻게 해야 합니까? (0) | 2023.05.16 |
비어 있지 않은 디렉터리 제거 (0) | 2023.05.16 |
MVVM Light Toolkit 샘플 (0) | 2023.05.16 |
Visual Studio에서 프로젝트/솔루션 간에 코드를 공유하는 방법은 무엇입니까? (0) | 2023.05.16 |