파이썬 len() 함수를 어떻게 사용하고 계셨나요? 단순히 그 값의 길이만을 구하기 위해서 사용하셨다면 이 글을 잘 찾아오셨습니다. 여러분들이 몰랐던 모를수밖에 없는 len()함수의 기본부터 심화까지 알아보도록 하겠습니다.
1. 파이썬 len() 함수는 무엇인가?
파이썬 len()함수는 다양한 데이터 구조의 길이나 크기를 확인할 수 있는 매우 유용한 내장 함수입니다. 리시트, 문자열, 튜플과 같은 시퀀스 데이터 타입뿐만 아니라 딕셔너리, 세트와 같은 collection의 요소 개수를간편하게 반환할 수 있습니다. 이 함수를 통해서 파이썬 프로그래밍을 할때 좀더 도움이 될 수 있는 정보를 제공하겠습니다.
2. len() 함수의 기본 사용법
2.1 문자열에서의 len 함수 사용법
파이썬에서는 문자열의 길이를 확인하는 데 len()함수를 사용할 수 있ㅅ브니다. 문자열의 각 문자는 하나의 요소로 간주되고, 이 함수는 해당 문자열에 포함된 문자의 개수를 반환합니다.
string = "Hello world!"
print(len(string))
# 출력 : 13
위코드에서 len(string)은 공백과 특수문자를 포함해서 총 13이라는 길이를 반환합니다.
2.2 리스트에서 len() 함수 사용
리스트는 여러 요소를 포함할 수 있는 데이터 구조로 len()함수는 리스트에 포함된 요소의 개수를 반환합니다.
my_list = [1, 2, 3, 4, 5]
print(len(my_list))
# 출력: 5
이 예제에서는 리스트에는 5개의 요소가 포함되어 있습니다. len()함수는 이 요소의 수를 반환합니다.
2.3 튜플에서의 len() 함수를 사용
튜플은 변경이 불가능한 시퀀스 데이터 타입으로 len()함수는 튜플 내에 포함된 요소의 개수를 확인하는 데 사용됩니다.
my_tuple = (1, 2, 3)
pint(len(my_tuple))
# 출력: 3
튜플의 경우에도 len() 함수는 리스트와 동일하게 요소의 개수를 반환합니다.
3. python len() 함수의 다양한 활용
3.1 딕셔너리에서의 len()함수
딕셔너리는 키-값 쌍으로 구성된 데이터 구조입니다. len() 함수는 딕셔너리에 포함ㄴ된 키-값 쌍의 개수를 반환합니다.
my_dict = {'apple': 1, 'banana': 2, 'cherry': 3}
print(len(my_dict))
# 출력: 3
위 예제에서 딕셔너리는 3개의 키-값 쌍으로 이루어져 있습니다. len() 함수는 이 값 을 정확히 반환합니다.
3.2 중첩된 데이터구조에서의 len() 함수
중첩 리스트와 다차원 데이터구조에서 len() 함수를 사용한다면 어떤 값을 가져올까요? 아래를 참고하세요.
nested_list = [[1, 2], [3, 4], [5, 6, 7]]
print(len(nested_list))
# 출력: 3
위 예제에서는 최상위 리스트는 3개의 하위 리스트를 포함하고 있으므로 len() 함수는 3을 반환합니다.
3.3 세트에서의 len() 함수
세트는 중복을 허용하지 않는 데이터 구조입니다. len() 함수는 세트 내 고유한 요소의 개수를 반환합니다.
my_set = {1, 2, 3, 4, 5}
print(len(my_set))
# 출력: 5
4. python파이썬 len() 함수의 심화 사용법
4.1 커스텀 클래스에서 len() 함수 사용하기
파이썬에서는 객체 지향프로그래밍을 통해서 len() 함수의 동작을 커스터 마이징할 수 있는데요. 클래스 내에 __len__()메소드를 정의하여서 해당 클래스의 인스턴스에 대해서 len()함수를 사용할 수 있다는것입니다.
class MyClass:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
obj = MyClass([1, 2, 3, 4])
print(len(obj))
# 출력: 4
위 예제에서는 클래스 인스턴스의 길이를 __len__()메소드를 통해서 정의할 수 있습니다.
4.2 len() 함수와 메모리 최적화
len() 함수는 매우 효율적인 함수로 데이터 구조의 크기를 실시간으로 계산하지 않고, 이미 계산된 값을 반환합니다. 이 때문에 메모리 사용량이 적고, 큰 데이터를 처리할 때도 성능에 영향을 미치지 않습니다.
4.3 Generator에서 len() 함수 사용하기
제너레이터는 한 번에 하나의 항목을생성하는 이터레이터입니다. 일반적으로 len()함수는 제너레이터에서 직접 사용할 수 없습니다. 그러나 제너레이터를 리스트나 다른 시퀀스 타입으로 변환한 후에는 len() 함수를 사용할 수 있습니다.
def my_generator():
yield 1
yield 2
yield 3
gen = my_generator()
print(len(list(gen)))
# 출력: 3
위 예제에서 generator를 리스트로 변환한 후 len() 함수를사용해서 요소의 수를 구할 수 있습니다.
5. len() 함수 사용 시 주의사항
- len() 함수는 시퀀스나 컬렉션이 아닌 데이터타입에서는 동작하지 않습니다. 예를들어, 숫자나 None 타입의 객체에 대해 호출하면 오류가 발생합니다.
- __len__() 메소드가 정의되지 않은 사용자 정의 클래스에서는 len() 함수를 사용할 수 없습니다. 이경우는 클래스에 __len__() 메소드를 구현해야합니다.
결론
파이썬의 len() 함수는 다양한 데이터 구조에 적용할 수 있는 강력한 하나의 도구인데요. 기본적인 사용법부터 커스텀 클래스에서의 활용법까지 여기까지 따라오셨다면 len() 함수를 더 잘 이해하고 활용할 수 있기를 바랍니다. len() 함수를 효과적으로 사용해서 코딩의 효율성을 높이고 더나은 프로그래머가 되길 바랍니다.
'IT' 카테고리의 다른 글
변수 뜻과 활용 방법의 대한 모든 것 (0) | 2024.08.25 |
---|---|
파이썬 init이란 무엇인가? 기본부터 심화까지 사용법 (0) | 2024.08.18 |
파이썬 설치하기 및 시작하기 (3) | 2024.08.10 |
[python] 파이썬 가상환경 설정 및 생성 방법 이글로 종결 (0) | 2024.08.02 |
js 뜻의 대해서 알아보자 javascript (0) | 2024.07.31 |