Python 2.x에서 고급 데이터 구조 작업을 위해 컬렉션 모듈을 사용하는 방법
소개:
Python의 표준 라이브러리에서 컬렉션 모듈은 다양한 작업을 쉽게 수행할 수 있는 몇 가지 고급 데이터 구조를 제공합니다. 이 글에서는 collections 모듈에서 주로 제공되는 여러 데이터 구조를 소개하고 관련 코드 예제를 제공합니다.
1. Counter
Counter는 반복 가능한 객체에서 각 요소의 발생 횟수를 계산하는 데 사용할 수 있는 간단하고 강력한 카운터 도구입니다.
샘플 코드:
from collections import Counter # 统计一个列表中每个元素的出现次数 lst = [1, 1, 2, 3, 4, 4, 4, 5, 6, 6, 7] counter = Counter(lst) print(counter) # 输出结果 # Counter({4: 3, 1: 2, 6: 2, 2: 1, 3: 1, 5: 1, 7: 1}) # 统计一个字符串中每个字符的出现次数 s = "Hello, World!" counter = Counter(s) print(counter) # 输出结果 # Counter({'l': 3, 'o': 2, 'H': 1, 'e': 1, ',': 1, ' ': 1, 'W': 1, 'r': 1, 'd': 1, '!': 1}) # 获取出现次数最多的前3个元素及其次数 print(counter.most_common(3)) # 输出结果 # [('l', 3), ('o', 2), ('H', 1)]
2. defaultdict
defaultdict는 내장 사전 유형의 하위 클래스입니다. 이는 알 수 없는 키 값을 가져올 때 기본값을 반환할 수 있는 __missing__() 메서드를 재정의합니다.
샘플 코드:
from collections import defaultdict # 声明一个defaultdict,键的默认值设为0 d = defaultdict(int) print(d[1]) # 输出结果 # 0 # 声明一个defaultdict,键的默认值设为[] d = defaultdict(list) print(d[1]) # 输出结果 # [] # 声明一个defaultdict,键的默认值设为None d = defaultdict(lambda: None) print(d[1]) # 输出结果 # None
3. OrderedDict
OrderedDict는 요소가 삽입되는 순서를 기억하는 순서 사전입니다.
샘플 코드:
from collections import OrderedDict # 声明一个OrderedDict d = OrderedDict() # 添加键值对 d[1] = 'a' d[2] = 'b' d[3] = 'c' # 遍历字典 for k, v in d.items(): print(k, v) # 输出结果 # 1 a # 2 b # 3 c
4. deque
deque는 스레드로부터 안전하고 큐 및 스택 작업을 효율적으로 수행할 수 있는 이중 끝형 큐입니다.
샘플 코드:
from collections import deque # 创建一个双端队列 d = deque() # 添加元素 d.append(1) d.append(2) d.append(3) # 输出队列元素 print(d) # 输出结果 # deque([1, 2, 3]) # 弹出元素 print(d.popleft()) print(d.pop()) # 输出结果 # 1 # 3
요약:
이 글에서는 컬렉션 모듈에서 제공하는 여러 고급 데이터 구조의 기본 사용법을 소개합니다. Counter는 요소의 발생 횟수를 편리하게 계산할 수 있고, defaultdict는 키의 기본값을 설정할 수 있으며, OrderedDict는 요소의 삽입 순서를 기억할 수 있으며, deque는 대기열 및 스택 작업을 효율적으로 수행할 수 있습니다. 실제 Python 개발에서 이러한 데이터 구조를 유연하게 사용하면 보다 효율적인 프로그래밍 경험을 얻을 수 있습니다.
위 내용은 Python 2.x에서 고급 데이터 구조 작업을 위해 컬렉션 모듈을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!