Collection en Python : tout ce que vous devez savoir

Publié: 2021-04-09

Python est un langage de programmation puissant. Il est modulaire et reconnu pour sa simplicité, sa réutilisabilité et sa maintenabilité. Dans la programmation modulaire, une tâche de programmation importante et complexe est décomposée en modules plus petits.

Cet article parle de la collection de modules en Python . La collection améliore les fonctionnalités et constitue l'alternative aux conteneurs dict, list, set et tuple intégrés à usage général de Python.

"Les listes, les tuples, les ensembles et les dictionnaires Python sont des structures de données définies par l'utilisateur, et chacun vient avec son propre ensemble d'avantages et d'inconvénients."

Table des matières

Module Python

Un module est un fichier contenant des définitions et des instructions Python qui implémentent un ensemble de fonctions. La commande import est utilisée pour importer des modules à partir d'autres modules. Python a plusieurs modules intégrés.

Venons-en maintenant au cœur de l'article et apprenons en détail la collection de modules en Python .

Collecte en Python

La collection en Python est le conteneur qui stocke les collections de données. List, set, tuple, dict, etc., sont des collections intégrées à Python . Il existe six modules de collecte en Python qui offrent des structures de données supplémentaires pour stocker les collections de données. Ces modules Python améliorent les opérations de la collection de conteneurs intégrés.

Nous allons maintenant aborder les différents conteneurs fournis par la collection dans le module Python .

1. OrderedDict

OrderedDict() fonctionne de manière similaire à l'objet dictionnaire où les clés conservent l'ordre dans lequel elles sont insérées. Si vous souhaitez réinsérer la clé, la valeur précédente sera écrasée et la position de la clé ne changera pas.

Exemple:

importer OrderedDict à partir de collections

d1=collections.OrderedDict()

d1['A']=1

d1['B']=2

d1['C']=3

d1['D']=4

pour x,v dans d1.items() :

imprimer (x,v)

Sortir:

Un 1

B 2

C3

D 4

2. deque()

Le Python deque() est une liste optimisée qui ajoute et supprime des éléments des deux extrêmes.

Exemple:

importer deque à partir de collections

liste1 = ["a", "b", "c"]

deq = deque(list1)

print(deq)

Sortir:

deque(['a', 'b', 'c'])

3. Compteur

Les compteurs sont le sous-groupe des objets de dictionnaire qui comptent les objets hachables. La fonction compteur prend une entrée itérable comme argument et renvoie une sortie sous forme de dictionnaire. La clé est un élément itérable et la valeur est le nombre total de fois qu'un élément est présent dans l'itérable.

Exemple:

importer un compteur à partir de collections

c = Compteur()

liste1 = [1,2,3,4,5,7,8,5,9,6,10]

Compteur(list1)

Compteur({1:5,2:4})

liste1 = [1,2,4,7,5,1,6,7,6,9,1]

c = Compteur(list1)

impression (c[1])

Sortir:

3

Fonctions de compteur supplémentaires

1. Fonction éléments()

La fonction elements() renvoie une liste des éléments présents dans l' objet Counter .

Exemple:

c = Compteur({1:4,2:3})

impression(liste(c.elements()))

Sortir:

[1,1,1,1,2,2,2]

Ici, un objet Counter est créé à l'aide d'un argument de dictionnaire. Le nombre de comptages pour 1 est 4 et pour 2 est 3. La fonction elements() est appelée avec l' objet c renvoyant un itérateur.

2. Fonction most_common()

La fonction Python Counter() renvoie un dictionnaire non ordonné tandis que la fonction most_common() le trie en fonction du nombre de chaque élément.

Exemple:

liste = [1,2,3,4,5,5,5,7,3]

c = compteur(liste)

impression(c.most_common())

Sortir:

[((5,3), (1,1),(2,1),(3,2),(4,1), (7,1))]

Ici, la fonction most_common renvoie une liste triée selon le nombre d'éléments. 5 vient trois fois; par conséquent, il vient en premier, comme élément de la liste.

3. Fonction Soustraire()

Le subtract () considère les arguments itérables ou de mappage et soustrait le nombre d'éléments avec cet argument.

Exemple:

c = compteur({1:2,2:3})

sortie= {1:1,2:1}

c. soustraire (sortie)

impression(c)

Sortir:

Compteur({1:1,2:2})

4. Objets Chainmap

La classe Chainmap regroupe plusieurs dictionnaires pour créer une seule liste. Le dictionnaire lié est public et accessible par l'attribut map.

Exemple:

Importer une carte de chaîne à partir de collections

dict1 = { 'w' : 1, 'x' : 2 }

dict2 = {'y' : 3. 'z' : 4 }

chain_map = ChainMap(dict1,dict2)

imprimer(chain_map.maps)

Sortir:

[{'x' : 2, 'w' :1}, {'y' : 3, 'x':4}]

5. Tuple nommé

La fonction namedtuple() renvoie un objet tuple avec des noms pour chaque position dans le tuple. Il a été introduit pour éliminer le problème de la mémorisation de l'index de chaque champ d'un objet tuple.

Exemple:

Importer namedtuple à partir de collections

Étudiant = nommétuple ('Étudiant','prénom, nom, âge')

s1 = Étudiant ('Tom', 'Alter', '12')

print(s1.prenom)

Sortir:

Étudiant(prénom='Tom', nom='Alter', âge='12')

Dans cet exemple, vous pouvez accéder aux champs de n'importe quelle instance d'une classe.

6. Dict par défaut

Le Python defaultdict() est un objet dictionnaire et est une sous-classe de la classe dict. Il fournit toutes les méthodes de dictionnaire mais prend le premier argument comme type de données par défaut. Il génère une erreur lorsque vous accédez à une clé inexistante.

Exemple:

importer defaultdict à partir de collections

num = defaultdict(entier)

nombre['un'] = 1

nombre['deux'] = 2

print (num['trois'])

Sortir:

0

Conclusion

La collection en Python est connue pour apporter des améliorations au module de collection Python. Les collections ont été introduites dans la version 2.4 de Python. De nombreux changements et améliorations sont à prévoir dans les versions ultérieures. Dans cet article, nous avons expliqué les six collections existantes en Python avec des exemples et la manière dont elles sont implémentées dans le langage. Ils sont l'un des concepts les plus importants du point de vue de l'apprenant.

Apprenez la collection en Python avec le programme exclusif de baccalauréat en applications informatiques d' upGrad . Ce programme couvre les compétences nécessaires pour faire une entrée dans l'industrie informatique.

Si vous êtes curieux d'en savoir plus sur Python, Data Science, consultez le programme Executive PG de IIIT-B & upGrad en Data Science qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, du mentorat avec des experts de l'industrie. , 1-on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Apprenez des cours de science des données en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Pourquoi avons-nous besoin du module de collection en Python ?

Python a déjà 4 types de données de collecte intégrés. Ce sont la liste, le tuple, le dictionnaire et l'ensemble. Cependant, ces conteneurs de données sont utilisés à des fins générales.
Les points suivants mettent en évidence les principaux avantages de l'utilisation du module de collecte par rapport aux conteneurs de données intégrés.
Le module de collection fournit la version spécialisée de ces conteneurs, tels que namedtuple, OrderedDict, defaultdict, chainmap, counter et bien d'autres.
Étant plus optimisés, ces conteneurs s'avèrent être une meilleure alternative aux conteneurs de données traditionnels tels que list, tuple et set.
Le module de collecte est efficace pour traiter des données structurées.
Les conteneurs de données tels que namedtuple consomment moins de mémoire et fournissent des opérations améliorées pour stocker et gérer les données.

Quelle est la différence entre un dictionnaire et un dictionnaire ordonné en Python ?

Python Dictionary ou "Dict" est une structure de données intégrée de Python qui est utilisée pour stocker une collection non ordonnée d'éléments. Contrairement aux autres structures de données Python qui stockent des valeurs uniques, la structure de données du dictionnaire stocke des paires clé-valeur où chaque clé est unique. Il ne se souvient pas de l'ordre d'insertion des paires clé-valeur et parcourt les clés.
D'autre part, un dictionnaire ordonné ou OrderedDict conserve une trace de l'ordre d'insertion des paires clé-valeur. Il consomme également plus de mémoire qu'un dictionnaire ordinaire en Python en raison de son implémentation de liste à double liaison. Si vous supprimez et réinsérez la même clé, elle sera insérée dans sa position d'origine car OrderedDict se souvient de l'ordre d'insertion.

Quelles sont les différentes opérations de namedtuple ?

Le namedtuple en Python effectue diverses opérations. Voici une liste de certaines des opérations les plus courantes effectuées par le namedtuple.
1. Opérations d'accès : Accès par index : Les éléments d'un tuple nommé sont accessibles par leurs index, contrairement à un dictionnaire. Accès par nom de clé : L'autre façon d'accéder aux éléments est par leur nom de clé.
2. Opérations de conversion : make() : Cette fonction renvoie un tuple nommé. _asadict() : cette fonction renvoie un dictionnaire ordonné qui est construit à partir des valeurs mappées. en utilisant l'opérateur "**" (double étoile) : cette fonction convertit un dictionnaire Python en un tuple nommé.
3. Opérations supplémentaires : _fileds() : cette fonction renvoie tous les noms de clé du tuple nommé donné. _replace () : cette fonction prend un nom de clé comme argument et modifie les valeurs qui lui sont mappées.