답변
my_list = [1,2,3,4,5]
len(my_list)
# 5
튜플도 마찬가지입니다.
my_tuple = (1,2,3,4,5)
len(my_tuple)
# 5
그리고 문자열은 실제로 문자 배열입니다.
my_string = 'hello world'
len(my_string)
# 11
목록, 튜플 및 기타 컨테이너 유형 또는 반복 가능 항목이 모두 공개 메소드 를 명시 적으로 구현할 필요가 없도록 의도적으로 이러한 방식으로 수행 되었습니다 .length()
. 대신 len()
‘매직’ __len__()
메소드 를 구현하는 모든 항목을 확인할 수 있습니다 .
물론 이것은 중복되는 것처럼 보일 수 있지만 동일한 언어 내에서도 길이 검사 구현은 상당히 다를 수 있습니다. 한 컬렉션 유형이 .length()
메서드를 사용하는 반면 다른 유형이 .length
속성을 사용하는 반면 다른 유형이 속성을 사용하는 것을 보는 것은 드문 일이 아닙니다 .count()
. 언어 수준의 키워드가 있으면 이러한 모든 유형의 진입 점이 통합됩니다. 따라서 요소 목록으로 간주되지 않는 개체도 여전히 길이를 확인할 수 있습니다. 여기에는 문자열, 대기열, 나무 등이 포함됩니다.
기능적 특성은 len()
기능적 스타일의 프로그래밍에도 적합합니다.
lengths = map(len, list_of_containers)
답변
이해하기 쉬운 길이 (리스트, 딕셔너리, 튜플, 문자열 등)를 사용하는 방법이 len
있습니다.
l = [1,2,3,4]
s = 'abcde'
len(l) #returns 4
len(s) #returns 5
“이상한”구문의 이유는 내부적으로 파이썬이로 변환 len(object)
되기 때문 object.__len__()
입니다. 이것은 모든 객체에 적용됩니다. 따라서 클래스를 정의하고 길이를 갖는 것이 합리적이라면 __len__()
메소드를 정의하면 len
해당 인스턴스를 호출 할 수 있습니다 .
답변
파이썬은 오리 타이핑을 사용합니다 : 상황에 맞는 적절한 인터페이스를 가지고 있다면 객체 가 무엇인지 신경 쓰지 않습니다 . 객체에서 내장 함수 len ()을 호출하면 실제로 내부 __len__ 메서드를 호출하게됩니다. 커스텀 객체는이 인터페이스를 구현할 수 있으며, 객체가 개념적으로 시퀀스가 아니더라도 len ()은 응답을 반환합니다.
전체 인터페이스 목록을 보려면 여기를 참조 하십시오. http://docs.python.org/reference/datamodel.html#basic-customization
답변
파이썬 객체의 길이를 얻는 가장 좋은 방법은 len
함수에 인수로 전달하는 것입니다. 내부적으로 파이썬 __len__
은 전달 된 객체 의 특수 메소드 를 호출하려고 시도합니다 .
답변
그냥 사용하십시오 len(arr)
:
>>> import array
>>> arr = array.array('i')
>>> arr.append('2')
>>> arr.__len__()
1
>>> len(arr)
1
답변
당신이 사용할 수있는 len(arr)
배열의 길이를 얻기 위해 이전 답변에서 제안. 2D 배열의 치수를 원할 경우 arr.shape
높이와 너비를 반환 할 수 있습니다
답변
len(list_name)
function은 list를 매개 변수로 사용하고 list의 __len__()
함수를 호출합니다 .
