for 문에 넣어서 하나씩 꺼낼 수 있는 모든 것
Sequence (List, Tuple, Str, Range, Bytes (이진 데이터)) + Non-sequense (Dictionary, Set) + Stream (Generator, File),
파이썬 iterable(이터러블) 데이터 타입(자료형) 및 iterable 뜻(의미) : 네이버 블로그
it slicing 가능
iterable 쓴 함수는 generator
- Iterable인지 알아보기
isinstance(), iter() 함수 사용 print(isinstance(li, Iterable))
메모리 효율 순위 (적음 → 많음)
-
불리언 (Boolean):
True,False만 표현하면 되므로 가장 작습니다. -
정수/실수 (Integer/Float): 고정된 바이트(보통 4~8바이트)를 사용하여 숫자를 저장합니다.
-
문자열 (String): 문자들이 다닥다닥 붙어 있는 형태입니다. 인덱스 정보나 포인터가 없어 효율적입니다.
-
튜플 (Tuple): 리스트와 비슷하지만 **‘수정 불가능(Immutable)‘**합니다. 수정 기능이 빠져 있어 리스트보다 가볍습니다.
-
리스트 (List): 데이터를 추가/삭제할 수 있어야 하므로 여유 공간을 미리 확보해두며, 각 요소의 주소값(포인터)을 별도로 저장하기 때문에 무겁습니다.
-
딕셔너리 / 셋 (Dict / Set): 데이터를 빠르게 찾기 위해 ‘해시 테이블’이라는 복잡한 구조를 사용합니다. 빈 공간을 많이 만들어둬야 속도가 나기 때문에 메모리를 가장 많이 소모합니다.
-
123(정수): 약 28 bytes -
"123"(스트링): 약 52 bytes -
(1, 2, 3)(튜플): 약 64 bytes -
[1, 2, 3](리스트): 약 88 bytes -
{1, 2, 3}(셋): 약 216 bytes -
{'a':1, 'b':2, 'c':3}(딕셔너리): 약 232 bytes