Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python 리스트의 최대 크기는 얼마일까? sys.maxsize 완벽 정리

Python 리스트의 최대 크기란?

Python에서 리스트(list)의 최대 길이는 고정된 값이 아니라 플랫폼(운영체제 및 아키텍처)에 따라 달라집니다. 구체적으로는 시스템이 사용할 수 있는 주소 공간과 RAM 용량에 의해 결정됩니다.

Python은 내부적으로 sys 모듈에 maxsize라는 상수를 제공하는데, 이 값이 곧 컨테이너가 가질 수 있는 최대 크기의 기준이 됩니다.

sys.maxsize 확인 방법

64비트 시스템에서 sys.maxsize는 263 − 1, 즉 9,223,372,036,854,775,807을 반환합니다.

>>> import sys
>>> sys.maxsize
9223372036854775807

Py_ssize_t와 컨테이너 크기의 관계

sys.maxsize는 플랫폼의 Py_ssize_t 타입이 지원하는 최대 양의 정수입니다. 이 값이 바로 리스트, 문자열(str), 딕셔너리(dict) 등 대부분의 내장 컨테이너가 가질 수 있는 최대 크기를 결정합니다.

  • 64비트 시스템: 263 − 1 = 9,223,372,036,854,775,807
  • 32비트 시스템: 231 − 1 = 2,147,483,647

실제로 이 크기까지 만들 수 있을까?

이론상 최댓값은 위와 같지만, 실제로는 사용 가능한 메모리(RAM)가 훨씬 작기 때문에 sys.maxsize만큼의 요소를 담는 것은 불가능합니다. 메모리가 부족하면 MemoryError가 발생합니다. 따라서 실질적인 리스트 크기의 상한선은 하드웨어의 메모리 용량이라고 이해하면 됩니다.