복붙노트

[PYTHON] Python : 사전을 사용하여 목록의 항목 계산 [duplicate]

PYTHON

Python : 사전을 사용하여 목록의 항목 계산 [duplicate]

저는 파이썬을 처음 접했고 간단한 질문을했습니다. 항목 목록이 있습니다.

['apple','red','apple','red','red','pear']

목록 항목을 사전에 추가하고 항목이 목록에 나타나는 횟수를 세는 가장 간단한 방법은 무엇입니까?

위의 목록에서 출력을 다음과 같이 지정합니다.

{'apple': 2, 'red': 3, 'pear': 1}

해결법

  1. ==============================

    1.2.7 및 3.1에는이 목적을위한 특별한 Counter dict가 있습니다.

    2.7 및 3.1에는이 목적을위한 특별한 Counter dict가 있습니다.

    >>> from collections import Counter
    >>> Counter(['apple','red','apple','red','red','pear'])
    Counter({'red': 3, 'apple': 2, 'pear': 1})
    
  2. ==============================

    2.내가 좋아하는 :

    내가 좋아하는 :

    counts = dict()
    for i in items:
      counts[i] = counts.get(i, 0) + 1
    

    .get 키가 존재하지 않으면 기본값을 지정할 수 있습니다.

  3. ==============================

    3.

    >>> L = ['apple','red','apple','red','red','pear']
    >>> from collections import defaultdict
    >>> d = defaultdict(int)
    >>> for i in L:
    ...   d[i] += 1
    >>> d
    defaultdict(<type 'int'>, {'pear': 1, 'apple': 2, 'red': 3})
    
  4. ==============================

    4.list 속성 count \

    list 속성 count \

    i = ['apple','red','apple','red','red','pear']
    d = {x:i.count(x) for x in i}
    print d
    

    출력 :

    {'pear': 1, 'apple': 2, 'red': 3}
    
  5. ==============================

    5.나는 항상 사소한 작업 때문에 아무것도 가져오고 싶지 않다고 생각했습니다. 하지만 컬렉션에 따라 틀릴 수도 있습니다. 카운터가 더 빠르거나 빠를 수 있습니다.

    나는 항상 사소한 작업 때문에 아무것도 가져오고 싶지 않다고 생각했습니다. 하지만 컬렉션에 따라 틀릴 수도 있습니다. 카운터가 더 빠르거나 빠를 수 있습니다.

    items = "Whats the simpliest way to add the list items to a dictionary "
    
    stats = {}
    for i in items:
        if i in stats:
            stats[i] += 1
        else:
            stats[i] = 1
    
    # bonus
    for i in sorted(stats, key=stats.get):
        print("%d×'%s'" % (stats[i], i))
    

    Count ()는 모든 반복에서 count를 검색하는 반면, iterable은 한 번만 처리하기 때문에 count ()를 사용하는 것이 더 바람직하다고 생각합니다. 나는이 방법을 사용하여 많은 메가 바이트의 통계 데이터를 파싱했고, 항상 합리적으로 빠릅니다.

  6. ==============================

    6.collections.Counter (파이썬 2.7 이후부터 사용 가능)를 고려하십시오. https://docs.python.org/2/library/collections.html#collections.Counter

    collections.Counter (파이썬 2.7 이후부터 사용 가능)를 고려하십시오. https://docs.python.org/2/library/collections.html#collections.Counter

  7. ==============================

    7.이건 어때:

    이건 어때:

    src = [ 'one', 'two', 'three', 'two', 'three', 'three' ]
    result_dict = dict( [ (i, src.count(i)) for i in set(src) ] )
    

    이로 인해

  8. ==============================

    8.

    L = ['apple','red','apple','red','red','pear']
    d = {}
    [d.__setitem__(item,1+d.get(item,0)) for item in L]
    print d 
    

    { '배': 1, '사과': 2, '빨간색': 3}

  9. from https://stackoverflow.com/questions/3496518/python-using-a-dictionary-to-count-the-items-in-a-list by cc-by-sa and MIT license