Maison > Article > développement back-end > Comment `zip([iter(s)]*n)` fragmente-t-il une liste en Python ?
Zip pour les listes fragmentées : comprendre zip([iter(s)]n)
Le zip() La fonction est un outil puissant en Python qui combine des éléments de plusieurs itérables dans une liste de tuples. Son utilité s'étend à diverses applications, notamment la division de listes en morceaux de taille égale. L'expression zip([iter(s)]n) est un moyen concis d'y parvenir.
Pour comprendre le fonctionnement de cette expression, décomposons-la en ses composants :
En conséquence, zip() est invoqué avec n itérateurs, chacun représentant la même liste. Cela amène zip() à extraire un élément de chaque itérateur, créant ainsi un tuple. Le processus continue jusqu'à ce que tous les itérateurs soient épuisés, ce qui donne une liste de tuples.
Pour illustrer, considérons un exemple avec une liste s = [1,2,3,4,5,6,7,8 ,9] et n = 3. L'expression zip([iter(s)]n) produirait [(1,2,3),(4,5,6),(7,8,9)].
Si nous développons l'expression dans un code plus détaillé, cela ressemblerait à ceci :
x = iter(s) y = iter(s) z = iter(s) chunked_list = list(zip(x, y, z))
Ce code produit le même résultat que l'expression concise zip([iter(s)]n). Essentiellement, iter() crée un itérateur, [iter(s)]*n génère plusieurs vues dans la même liste et l'opérateur splat décompresse les itérateurs, permettant à zip() de combiner les éléments de chacun en tuples.
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!