Python 에서 Iterator 와 Iterable 의 차이 에 대한 상세 한 설명
교체 기 에 비해 크게 다 르 기 때문에 list/truple/map/dict 는 이 데이터 의 크기 가 확실 합 니 다.즉,얼마나 많은 것 을 알 수 있 는 지 알 수 있 습 니 다.그러나 교체 기 는 아니다.교체 기 는 몇 번 을 실행 해 야 할 지 모 르 기 때문에 몇 개의 요소 가 있 는 지 모 르 고 next()를 호출 할 때마다 한 걸음 씩 내 려 가 는 타성 으로 이해 할 수 있다.
교체 가능 한 지 아 닌 지 를 판단 하고 Iterable 로
from collections import Iterable
isinstance({}, Iterable) --> True
isinstance((), Iterable) --> True
isinstance(100, Iterable) --> False
교체 기
from collections import Iterator
isinstance({}, Iterator) --> False
isinstance((), Iterator) --> False
isinstance( (x for x in range(10)), Iterator) --> True
그래서for 순환 이 가능 한 것 은 모두 Iterable 입 니 다.
next()가 가능 한 것 은 모두 Iterator 입 니 다.
list,truple,dict,str 와 같은 집합 데이터 형식 은 Itrable 이지 Iterator 가 아니 지만 iter()함 수 를 통 해 Iterator 대상 을 얻 을 수 있 습 니 다.
Python 의 for 순환 은 next 를 통 해 이 루어 집 니 다.
for x in [1,2,3,4,5]:
pass
등가
# iterator
it = iter([1,2,3,4,5])
while True:
try:
#
x = next(it);
except StopIteration:
# StopIteration
break
이 파 이 썬 의 Iterator 와 Iterable 의 차이 점 에 대한 상세 한 설명 은 바로 편집장 이 여러분 에 게 공유 한 모든 내용 입 니 다.참고 가 되 고 많은 응원 부 탁 드 리 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.