기본 콘텐츠로 건너뛰기

라벨이 __iter__인 게시물 표시

[matplotlib]quiver()함수

[python] 시퀀스, 이터러블 & 이터레이터

시퀀스, 이터러블 & 이터레이터 내용 시퀀스(Sequence)와 이터러블(iterable) 이터레이터(iterator) 시퀀스의 메소드 시퀀스(Sequence)와 이터러블(iterable) 인덱스를 가진 요소들로 구성된 객체를 시퀀스(Sequence) 라고 하며 파이썬은 리스트, 바이트 배열, 문자열, 튜플, range, byte 와 같은 내장 시퀀스 형(type)들을 제공합니다. 시퀀스는 불변형 과 가변형 으로 구분할 수 있으며 한 객체내의 모든 요소의 자료형이 같은 동종형(homogeneous type) 과 그렇지 않은 이종형(heterogeneous type) 으로 분류할 수 있습니다. 예로서 문자열은 모든 요소가 문자로 이루어지므로 동종형입니다. 리스트는 수, 문자, 다른 리스트나 객체 등을 요소로 가질 수 있으므로 동종형 뿐만 아니라 이종형이 됩니다. 당연히 저장이나 연산에서 동종형이 이종형보다 효율적입니다. 이터러블(iterable) 은 요소들를 하나씩 호출할 수 있는 객체를 의미합니다. 그러므로 문자형, 리스트를 포함하는 모든 시퀀스는 이터러블입니다. 그러나 모든 이터러블이 시퀀스가 아닙니다. 예로서 사전(dictionary)형 객체의 요소들은 인덱스를 가지지 않지만 반복문 등을 사용하여 각각의 요소를 호출할 수 있으므로 이터러블입니다. 다음 객체 dic는 사전형 객체로 반복문 중의 하나인 for 문 을 사용하여 요소들 각각을 호출할 수 있습니다. 이 경우 사전의 키(key)만이 반환됩니다. 사전(dictionary) 형은 키와 값으로 구성되며 각각을 메소드로 호출할 수 있습니다. 그러나 다음 코드와 같이 사전 객체 자체에서 요소를 호출할 경우 인덱스 역할을 하는 키만이 호출됩니다. 값이나 키와 값을 모두 호출하기 위해서는 .values()와 .items() 메소드를 사용합니다. dic={'book':1, 'computer':2} for i in dic: print(i...

[python]Iterator와 Generator

내용 container iterable과 interator(반복자) sequence와 iterable의 차이 generator(발생자) Iterator ans Generator container container는 데이터를 담을 수 있는 그릇의 역할을 하는 것으로 list, tuple, dic, set, string등의 데이터 구조를 의미합니다. 다음 코드에서 사용한 연산자 in 를 사용하여 각 구조에 포함되는 요소들을 검사할 수 있습니다. assert 1 in [1,2,3] assert 4 in [1,2,3] AssertionError Traceback (most recent call last) c:\Users\sonhs\Documents\note\python\산책\pyNote2.ipynb Cell 2' in <cell line: 1>() ----> 1 assert 4 in [1,2,3] AssertionError: 위 코드에서 사용한 assert는 if와 같은 조건문으로서 조건이 False일 경우만 에러를 반환합니다. 그러므로 조건의 판단만을 결정할 경우 유용하게 사용할 수 있습니다. iterable과 interator(반복자) iterable 객체의 요소들을 한번에 하나씩 나타낼 수 있는 객체 list, turple, set, dictionary와 같은 collection이나 string등의 자료형 객체 iterator; 값을 차례대로 꺼낼 수 있는 객체 python에서 반복가능한 객체인 iterable의 대표적인 예로 range()에 의한 객체 인스턴스입니다. 다음은 0~9까지 정수를 생성하는 것입니다. for i in range(10): print(i, end=',') 0,1,2,3,4,5,6,7,8,9, 위 코드는 실제로 0~9까지의 수를 모든 데이터를...