Maison > développement back-end > Tutoriel Python > Pourquoi la compression de listes en Python donne-t-elle une liste de tuples, pas une liste concaténée ?

Pourquoi la compression de listes en Python donne-t-elle une liste de tuples, pas une liste concaténée ?

DDD
Libérer: 2024-12-18 20:17:11
original
203 Les gens l'ont consulté

Why Does Zipping Lists in Python Result in a List of Tuples, Not a Concatenated List?

Compression de listes en Python : clarification des différences de taille

Lorsque vous essayez de compresser plusieurs listes ensemble, vous pouvez rencontrer un comportement inattendu concernant la taille de la liste résultante . Cet article aborde une idée fausse courante et fournit une compréhension claire du fonctionnement de zip() en Python.

Initialement, un programme tentant de compresser trois listes de taille 20 peut anticiper une liste de résultats de taille trois. Cependant, la liste zipall résultante contient à la place 20 éléments. Cette différence se produit car zip() ne concatène pas les listes ; au lieu de cela, il crée une liste de tuples, chaque tuple contenant les éléments correspondants des listes d'origine.

Considérons l'exemple suivant :

a = b = c = range(20)
zipall = zip(a, b, c)
Copier après la connexion

La liste zipall de sortie aura 20 éléments, chacun l'élément étant un tuple de la forme (a_element, b_element, c_element) :

[(0, 0, 0),
 (1, 1, 1),
 ...
 (17, 17, 17),
 (18, 18, 18),
 (19, 19, 19)]
Copier après la connexion

Par conséquent, pour déterminer le nombre d'éléments dans chaque tuple, on peut examiner la longueur de n'importe lequel de ces éléments :

len(zipall[0])
Copier après la connexion

Cela renverra une longueur de 3, indiquant que chaque tuple contient trois éléments.

Notez que si les listes d'origine étaient vides, l'expression len(zipall) renverrait 0, car une liste vide n'a aucun élément avec lequel compresser.

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 de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal