Python 배열의 길이 가져오기
객체의 길이를 확인하는 방법은 프로그래밍 언어마다 다를 수 있습니다. 일부 프로그래머는 count()
메서드를 사용하도록 선택할 수 있지만 다른 프로그래머는 .length()
메서드 또는 .length
속성을 사용하여 길이를 찾을 수 있습니다.
또는 파이썬은 길이를 찾기 위해 len()
함수와 __len__()
메서드를 제공합니다. 이 두 가지가 어떻게 관련되어 있는지, 그리고 이 함수와 메서드를 사용하여 객체의 길이를 찾는 방법을 살펴보겠습니다.
len()
함수를 사용하여 Python 배열의 길이 가져오기
len()
은 튜플, 대기열, 배열, 목록 및 문자열과 같은 객체에서 호출되는 Python 내장 함수로 이러한 객체에서 총 단어 또는 문자를 찾습니다.
반면에 __len__()
은 길이를 반환하는 데 사용되는 표준화된 매직 메서드(메서드 이름 앞에 두 개의 밑줄이 있고 메서드 이름 뒤에 두 개의 밑줄이 있는 메서드)입니다.
객체의 길이를 찾으려면 객체를 len()
에 인수로 전달하여 객체에 대한 len()
함수를 호출하십시오. 암시적으로 파이썬은 전달된 객체에 대해 __len__()
메서드를 호출하여 길이를 찾습니다. 즉, 파이썬은 내부적으로 len(object)
을 object.__len__()
으로 번역합니다.
따라서 객체에서 __len__()
을 직접 호출하는 대신 Python에서는 객체에서 len()
함수를 호출하는 것이 좋습니다. 이는 Python의 코드 일관성 때문입니다.
len()
함수를 호출하면 호출을 실행하는 동안 예외가 발생하지 않으므로 호출 후에도 프로그램이 계속 실행됩니다. __len__()
메서드를 사용할 때는 그 반대입니다. 함수 호출이 실행될 때 프로그램이 예외를 throw하지 않을지는 확실하지 않습니다. 이 확실성은 우리가 파이썬에서 정상 검사
라고 부르는 것입니다.
우리는 또한 __len__()
을 직접 사용하는 것보다 객체에서 len()
을 호출하는 것이 더 읽기 쉽다는 데 동의할 수 있습니다.
이 경우 배열의 길이를 찾으려면 다음과 같이 구현됩니다.
fruits = ["mango", "kiwi", "grape", "melon"]
arr_length = len(fruits)
print(arr_length)
위의 예는 과일 배열을 정의합니다. 과일 배열의 총 길이를 찾으려면 배열을 len()
함수에 전달할 변수를 정의하십시오. 길이를 찾기 위해 변수를 인쇄하십시오.
출력:
4
배열은 총 4개의 과일을 반환합니다.
len()
은 또한 아래와 같은 다른 기능적 스타일로 구현할 수 있는 기능적 특성을 가지고 있습니다.
length = map(len, list_of_objects)
예시:
a_list = [[1], [3, 5, 7], [2, 4, 6, 8, 10]]
print(map(len, a_list))