>  기사  >  백엔드 개발  >  Python 2.x에서 고급 데이터 구조 작업을 위해 컬렉션 모듈을 사용하는 방법

Python 2.x에서 고급 데이터 구조 작업을 위해 컬렉션 모듈을 사용하는 방법

王林
王林원래의
2023-07-30 11:36:22705검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.