"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Python에서 항목 발생을 효율적으로 계산하려면 어떻게 해야 합니까?

Python에서 항목 발생을 효율적으로 계산하려면 어떻게 해야 합니까?

2024-11-07에 게시됨
검색:951

How Can I Efficiently Count Item Occurrences in Python?

효율성이 향상된 Python의 항목 빈도 수

목록 내 항목 발생 횟수를 계산하는 것은 일반적인 프로그래밍 작업입니다. 이 질문은 Python에서 이 문제에 대한 보다 효율적인 접근 방식을 탐구합니다.

제시된 초기 코드는 기능적이지만 목록을 두 번 반복하여 최적이 아닌 성능으로 이어집니다. 핵심 과제는 목록을 중복하지 않고 항목 발생 횟수를 계산하는 Python 방식을 찾는 것입니다.

해결책은 컬렉션 모듈의 Counter 클래스를 활용하는 것입니다. 주파수 계산을 위해 특별히 설계된 Counter는 원하는 결과를 얻을 수 있는 간결하고 효율적인 방법을 제공합니다. 다음 코드는 그 사용법을 보여줍니다:

from collections import Counter

words = "apple banana apple strawberry banana lemon"
Counter(words.split())

이 코드 조각은 입력 문자열을 개별 단어로 분할하고 결과 목록을 Counter에 전달합니다. 결과는 키가 고유한 단어를 나타내고 값이 해당 개수를 나타내는 사전과 유사한 객체입니다. 이 예에서 출력은 다음과 같습니다.

Counter({'apple': 2, 'banana': 2, 'strawberry': 1, 'lemon': 1})

Counter 클래스는 내부적으로 해시 테이블을 사용하여 데이터를 저장하고 지속적인 조회 및 삽입 작업을 제공합니다. 이 접근 방식을 사용하면 두 번째 반복이 필요하지 않으며 항목 빈도 계산 성능이 크게 향상됩니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3