파이썬 len() 사용법 및 주의사항 2가지

파이썬 len() 함수는 가장 자주 사용되는 함수 중 하나입니다. len() 함수는 컬렉션(리스트, 튜플, 딕셔너리 등)이나 문자열의 길이, 즉 요소의 개수를 반환하는 함수로, 매우 간단하면서도 유용한 기능을 제공합니다. 이번 포스팅에서는 파이썬의 len() 함수에 대해 자세히 알아보고, 다양한 활용 방법을 살펴보겠습니다.

len() 함수란?

len() 함수는 파이썬에서 데이터 구조의 길이를 반환하는 함수입니다. 이때 길이는 리스트, 문자열, 튜플, 딕셔너리 등에서 각 항목이 몇 개 있는지 알려주는 역할을 합니다. 이 함수는 매우 직관적이면서도 파이썬 코드를 간결하게 만들어 주기 때문에 초보자부터 숙련된 개발자까지 모두 즐겨 사용하는 함수입니다.

기본 사용법: len() 함수로 리스트, 튜플, 세트의 길이 구하기

len() 함수의 기본적인 사용법은 매우 간단합니다. 데이터를 넣어주기만 하면 그 데이터의 길이를 반환해줍니다. 다음 코드는 list를 활용한 my_list, tuple을 사용한 my_tuple, 그리고 set를 사용한 my_set의 길이를 각각 구합니다.

Python
my_list = [1, 2, 3, 4, 5, 6, 7, 8]
len(my_list)
my_tuple = (1, 3, 5, 7)
len(my_tuple)
my_set = {2, 4, 6, 8, 10}
len(my_set)

위 코드에서는 my_list라는 리스트가 8개의 요소를 가지고 있으므로, len(my_list)는 8을 반환하게 됩니다. my_tuple은 4개, my_set는 5개의 요소를 가지고 있으므로 각각 4와 5를 반환합니다.

그림 1. 파이썬 len(): 리스트와 튜플의 길이 구하는 방법
그림 1. 파이썬 len(): 리스트와 튜플의 길이 구하는 방법

len() 함수로 문자열의 길이 구하기

len() 함수는 문자열의 길이를 구할 때도 유용합니다. 여기서 문자열의 길이는 문자 하나하나를 기준으로 세어집니다. 공백(space)도 하나의 문자로 포함됩니다.

Python
my_string = "Hello, World!"
len(my_string)

이 경우, 문자열 “Hello, World!”는 총 13개의 문자로 이루어져 있으므로 len() 함수는 13을 반환합니다. 여기서 중요한 점은 공백도 하나의 문자로 간주된다는 점입니다.

그림 2. 파이썬 len(): 문자열의 길이 구하는 방법
그림 2. 파이썬 len(): 문자열의 길이 구하는 방법

len() 함수로 딕셔너리의 항목 개수 구하기

len() 함수는 딕셔너리의 항목 개수도 구할 수 있습니다. 딕셔너리의 경우 키-값 쌍(key-value pair)이 하나의 항목으로 취급됩니다.

Python
my_dict = {'a': 1, 'b': 2, 'c': 3}
len(my_dict)

딕셔너리 my_dict는 3개의 키-값 쌍을 가지고 있기 때문에 len(my_dict)는 3을 반환합니다.

그림 3. 파이썬 len(): 딕셔너리의 항목 개수 구하는 방법
그림 3. 파이썬 len(): 딕셔너리의 항목 개수 구하는 방법

len() 함수의 주의사항

리스트 안의 리스트 길이 구하기

만약 리스트를 요소로 하는 리스트가 있는 경우, len() 함수는 내부 리스트 요소는 1개로 인식하여 외부 리스트의 길이만을 반환합니다.

Python
nested_list = [[1, 2, 3], [4, 5], [6], [7, 8, 9]]
len(nested_list)

이 예시에서는 nested_list라는 리스트가 4개의 내부 리스트를 가지고 있기 때문에 아래와 같이 len(nested_list)는 4을 반환합니다.

그림 4. 파이썬 len(): 중첩된 리스트의 개수 구하기
그림 4. 파이썬 len(): 중첩된 리스트의 개수 구하기

숫자의 길이 구하기

len() 함수는 파이썬의 다양한 데이터 타입에서 작동하지만, 정수형(int)이나 실수형(float)에는 사용할 수 없습니다. 만약 정수나 실수에 대해 길이를 구하려 하면 오류가 발생합니다.

Python
num_int = 12345
num_float = 12.345
len(num_int)
len(num_float)

위의 코드를 실행하면 아래와 같이 “TypeError: object of type ‘int’ has no len()”와 같은 형태의 오류 메시지를 통해서 len()을 사용할 수 없다고 알려줍니다.

그림 5. 파이썬 len(): 숫자(정수 및 실수)의 길이를 구할 때 발생하는 TypeError 오류 메시지
그림 5. 파이썬 len(): 숫자(정수 및 실수)의 길이를 구할 때 발생하는 TypeError 오류 메시지

그러므로 숫자의 길이를 구하고 싶을 때에는 숫자를 문자열로 변환한 후 길이를 구해야 합니다.

Python
num_int = 12345
num_float = 12.345
len(str(num_int))
len(str(num_float))

위의 코드를 실행하면 아래와 같이 정수의 길이 5와 실수의 길이 6이 각각 출력되는 것을 확인할 수 있습니다.

그림 6. 파이썬 len(): 숫자의 길이 구하는 방법
그림 6. 파이썬 len(): 숫자의 길이 구하는 방법

정리

len() 함수는 파이썬에서 데이터를 다룰 때 매우 유용한 도구입니다. 리스트, 튜플, 세트, 문자열, 딕셔너리 등의 다양한 데이터 구조에서 길이를 구하는 데 사용되며, 코드를 간결하고 직관적으로 만들 수 있습니다. 또한 커스텀 클래스에 적용하여 객체의 길이를 정의할 수 있는 유연성도 제공합니다.

이 함수는 매우 간단하면서도 자주 쓰이는 함수이기 때문에 파이썬을 처음 배우는 사람부터 숙련된 프로그래머까지 폭넓게 활용할 수 있습니다. len() 함수를 적극적으로 사용하면 파이썬 코드의 가독성도 높아지고, 데이터 처리 과정도 한결 편리해질 것입니다.

참고자료

관련 포스트

Leave a Comment