[PYTHON] Python : 사전을 사용하여 목록의 항목 계산 [duplicate]
PYTHONPython : 사전을 사용하여 목록의 항목 계산 [duplicate]
저는 파이썬을 처음 접했고 간단한 질문을했습니다. 항목 목록이 있습니다.
['apple','red','apple','red','red','pear']
목록 항목을 사전에 추가하고 항목이 목록에 나타나는 횟수를 세는 가장 간단한 방법은 무엇입니까?
위의 목록에서 출력을 다음과 같이 지정합니다.
{'apple': 2, 'red': 3, 'pear': 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.내가 좋아하는 :
내가 좋아하는 :
counts = dict() for i in items: counts[i] = counts.get(i, 0) + 1
.get 키가 존재하지 않으면 기본값을 지정할 수 있습니다.
-
==============================
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.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.나는 항상 사소한 작업 때문에 아무것도 가져오고 싶지 않다고 생각했습니다. 하지만 컬렉션에 따라 틀릴 수도 있습니다. 카운터가 더 빠르거나 빠를 수 있습니다.
나는 항상 사소한 작업 때문에 아무것도 가져오고 싶지 않다고 생각했습니다. 하지만 컬렉션에 따라 틀릴 수도 있습니다. 카운터가 더 빠르거나 빠를 수 있습니다.
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.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.이건 어때:
이건 어때:
src = [ 'one', 'two', 'three', 'two', 'three', 'three' ] result_dict = dict( [ (i, src.count(i)) for i in set(src) ] )
이로 인해
-
==============================
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}
from https://stackoverflow.com/questions/3496518/python-using-a-dictionary-to-count-the-items-in-a-list by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] POST 요청을 보내는 방법? (0) | 2018.10.06 |
---|---|
[PYTHON] json.dumps 대 flask.jsonify (0) | 2018.10.06 |
[PYTHON] 파이썬 클래스 장식 자 (0) | 2018.10.06 |
[PYTHON] 어떻게 파이썬에서 트리를 구현할 수 있습니까? Java와 같이 파이썬에 내장 된 데이터 구조가 있습니까? (0) | 2018.10.06 |
[PYTHON] 어떻게 장고 DateTimeField의 날짜를 필터링 할 수 있습니까? (0) | 2018.10.06 |