Zippez les itérables en morceaux en Python
En Python, le zip([iter(s)]n) La fonction vous permet de diviser une liste en morceaux de longueur égale. Voici comment cela fonctionne :
Explication :
zip(*[iter(s)]*n):
Équivalent en code verbeux :
Pour comprendre le fonctionnement interne de zip(*[iter(s)]*n ), écrivons le code équivalent avec une syntaxe plus verbeuse :
s = [1, 2, 3, 4, 5, 6, 7, 8, 9] n = 3 # Create iterators for the list iter1 = iter(s) iter2 = iter(s) iter3 = iter(s) # Zip the iterators to create chunks chunks = zip(iter1, iter2, iter3) # Convert the generator to a list list_chunks = list(chunks)
Dans ce verbe verbeux version :
Sortie :
La sortie du code original et détaillé serait la même :
[(1, 2, 3), (4, 5, 6), (7, 8, 9)]
Cela démontre comment zip(*[iter(s)]*n) divise facilement une liste en morceaux en utilisant des itérateurs et la fonction zip.
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!