파이썬(Python)에서 리스트의 크기, 즉 요소의 개수를 확인하려면 내장 함수인 len()을 사용하면 됩니다. 별도의 라이브러리 설치 없이 바로 호출할 수 있어 가장 간단하고 널리 쓰이는 방법입니다.
len() 함수란?
파이썬 공식 문서에서는 len() 함수를 다음과 같이 설명합니다.
"len(arg)는 객체의 길이(항목의 개수)를 반환합니다. 인자로는 문자열(string), bytes, 튜플(tuple), 리스트(list), range와 같은 시퀀스(sequence) 또는 딕셔너리(dictionary), 셋(set), 프로즌 셋(frozen set)과 같은 컬렉션(collection)이 올 수 있습니다."
즉, 리스트뿐만 아니라 다양한 자료형의 개수를 세는 데 동일하게 활용할 수 있습니다.
__len__ 메서드와 시간 복잡도
len은 내장 함수이므로, __len__ 메서드를 구현한 사용자 정의 클래스에도 적용할 수 있습니다. 이 경우 해당 연산의 시간 복잡도는 __len__의 구현 방식에 따라 달라집니다.
- O(1): 리스트처럼 객체가 길이 정보를 미리 저장하고 있어 즉시 반환되는 경우
- O(n):
__len__내부에서 요소를 하나씩 순회하며 개수를 세는 경우
사용 예제
아래 예제는 리스트와 문자열에 각각 len()을 적용한 결과입니다.
list1 = [1, 2, "Hello"] print(len(list1)) my_str = "Hello" print(len(my_str))
실행 결과
위 코드를 실행하면 다음과 같은 출력을 얻습니다.
3 5
리스트 list1에는 정수 2개와 문자열 1개, 총 3개의 요소가 들어 있으므로 3이 출력되고, 문자열 "Hello"는 5개의 문자로 구성되어 있으므로 5가 출력됩니다.
정리
파이썬에서 리스트의 크기를 구할 때는 len() 함수 하나면 충분합니다. 내부적으로 CPython은 리스트 객체 생성 시점에 길이 정보를 함께 관리하기 때문에 대부분의 경우 O(1) 속도로 매우 빠르게 동작합니다. 리스트뿐 아니라 문자열, 튜플, 딕셔너리, 셋 등 다양한 자료형에도 그대로 사용할 수 있다는 점도 기억해 두면 유용합니다.