Maison  >  Article  >  développement back-end  >  Comment utiliser le module collections pour les opérations avancées de structure de données dans Python 2.x

Comment utiliser le module collections pour les opérations avancées de structure de données dans Python 2.x

王林
王林original
2023-07-30 11:36:22704parcourir

Comment utiliser le module collections pour les opérations avancées de structure de données dans Python 2.x

Introduction :
Dans la bibliothèque standard de Python, le module collections fournit des structures de données avancées qui peuvent facilement effectuer diverses opérations. Cet article présentera plusieurs structures de données principalement fournies par le module collections et donnera des exemples de code pertinents.

1. Counter
Counter est un outil de compteur simple et puissant qui peut être utilisé pour compter le nombre d'occurrences de chaque élément dans un objet itérable.

Exemple de code :

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 est une sous-classe du type de dictionnaire intégré. Elle remplace une méthode : __missing__(), qui peut renvoyer une valeur par défaut lors de l'obtention de la valeur d'une clé inconnue.

Exemple de code :

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 est un dictionnaire ordonné qui mémorise l'ordre dans lequel les éléments sont insérés.

Exemple de code :

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 est une file d'attente à double extrémité, qui est thread-safe et peut faire fonctionner efficacement les files d'attente et les piles.

Exemple de code :

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

Résumé :
Cet article présente l'utilisation de base de plusieurs structures de données avancées fournies par le module de collections. Counter peut facilement compter le nombre d'occurrences d'éléments, defaultdict peut définir la valeur par défaut d'une clé, OrderedDict peut mémoriser l'ordre d'insertion des éléments et deque peut effectuer efficacement des opérations de file d'attente et de pile. Dans le développement Python actuel, l'utilisation flexible de ces structures de données apportera une expérience de programmation plus efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn