python - 저장 - 파이썬 리스트 중복 개수




파이썬에서리스트의 요소 수를 얻는 방법? (4)

목록의 크기를 얻는 방법?

리스트의 크기를 찾으려면, 내장 함수 인 len 사용하십시오 :

items = []
items.append("apple")
items.append("orange")
items.append("banana")

그리고 지금:

len(items)

3을 반환합니다.

설명

파이썬의 모든 것은 목록을 포함하는 객체입니다. 모든 객체는 C 구현에서 일종의 헤더를가집니다.

파이썬에서 "크기"를 가진리스트와 다른 유사한 내장 객체는 특히 객체의 요소 수가 캐시되는 ob_size 라는 속성을 가지고 있습니다. 따라서 목록에있는 개체 수를 확인하는 것은 매우 빠릅니다.

그러나 목록 크기가 0인지 아닌지 확인하는 경우 len 사용하지 말고 목록을 부울 컨텍스트에 넣습니다 . 비어 있으면 False로 처리하고 그렇지 않으면 True로 처리합니다 .

docs

len(s)

객체의 길이 (항목 수)를 반환합니다. 인수는 시퀀스 (예 : 문자열, 바이트, 튜플, 목록 또는 범위) 또는 콜렉션 (사전, 집합 또는 고정 세트) 일 수 있습니다.

len 은 데이터 모델 docs 에서 __len__ 로 구현됩니다.

object.__len__(self)

내장 함수 len() 을 구현하기 위해 호출되었습니다. 객체의 길이, 정수> = 0을 반환해야합니다. 또한 __nonzero__() [Python 2 또는 __bool__() 에서 Python 3] 메서드를 정의하지 않고 __len__() 메서드가 0을 반환하는 __len__() 가 고려됩니다 Boolean 컨텍스트에서 false가되도록합니다.

그리고 __len__ 이 목록의 한 방법임을 알 수 있습니다.

items.__len__()

3을 반환합니다.

내장 타입은 len (길이)를 얻을 수 있습니다.

사실 우리는 모든 유형의 정보를 얻을 수 있음을 알 수 있습니다.

>>> all(hasattr(cls, '__len__') for cls in (str, bytes, tuple, list, 
                                            xrange, dict, set, frozenset))
True

비어 있거나 비어 있지 않은 목록을 테스트 할 때 len 을 사용하지 마십시오.

물론 특정 길이를 테스트하려면 동등성을 테스트하기 만하면됩니다.

if len(items) == required_length:
    ...

하지만 길이가 0 인리스트 나 그 역을 테스트하는 특별한 경우가 있습니다. 이 경우 평등을 테스트하지 마십시오.

또한,하지 마십시오 :

if len(items): 
    ...

대신 간단히 다음을 수행하십시오.

if items:     # Then we have some items, not empty!
    ...

또는

if not items: # Then we have an empty list!
    ...

나는 왜 여기에서 그러나 짧게 설명한다 , if items 또는 if not itemsif not items 에 읽히고 더 공적 둘 다.

items = []
items.append("apple")
items.append("orange")
items.append("banana")

# FAKE METHOD::
items.amount()  # Should return 3

목록에있는 요소의 수는 어떻게 얻습니까?


그리고 completeness (downvotes와 함께 팀을 위해 하나 복용), len() 함수를 사용하지 않고 가능합니다 (나는 좋은 옵션으로 이것을 용납하지 않을 것입니다) :

def count(list):
  item_count = 0
  for item in list[:]:
    item_count = item_count + 1
  return item_count

count([1,2,3,4,5])

( list[:] 의 콜론은 암시 적이므로 선택적입니다)


이전에 주어진 예로서 질문에 답하십시오.

items = []
items.append("apple")
items.append("orange")
items.append("banana")

print items.__len__()

len() 함수는 내장형과 라이브러리 형 모두 Python 에서 많은 유형과 함께 사용할 수 있습니다.

>>> len([1,2,3])
3




list