Une fonction qui divise l'itérable en N morceaux en Python

Iterable est divisé en N pièces et renvoyé sous forme de générateur.

Je l'ai amélioré en me référant au lien fourni dans le commentaire. Il est raccourci à 3 lignes et peut gérer une liste infinie. Fractionner l'itérateur en morceaux avec python

python


import itertools
def splitparN(iterable, N=3):
    for i, item in itertools.groupby(enumerate(iterable), lambda x: x[0] // N):
        yield (x[1] for x in item)


for x in splitparN(range(12)):
    print(tuple(x))
"""
production:
(0, 1, 2)
(3, 4, 5)
(6, 7, 8)
(9, 10, 11)
"""

eternal = libs.splitparN(itertools.cycle("hoge"))
print([tuple(next(eternal)) for x in range(4)])
#production:[('h', 'o', 'g'), ('e', 'h', 'o'), ('g', 'e', 'h'), ('o', 'g', 'e')]

#itertools.Peut être défait avec une chaîne
print(tuple(itertools.chain.from_iterable(splitparN(range(12)))))
#production:(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)

Recommended Posts

Une fonction qui divise l'itérable en N morceaux en Python
Créer une fonction en Python
Une fonction qui mesure le temps de traitement d'une méthode en python
Précautions lors du décapage d'une fonction en python
Fonction Eval () qui calcule une chaîne de caractères comme expression en python
Dessiner un graphique d'une fonction quadratique en Python
Un mémo que j'ai écrit un tri rapide en Python
Récupérer l'appelant d'une fonction en Python
Un programme qui supprime les instructions en double en Python
[Python, PyPDF2] Un script qui divise un PDF étalé en deux à gauche et à droite
Python qui fusionne beaucoup d'excellence en un seul Excel
Que contient cette variable (lorsque le script Python est en cours d'exécution)
En Python, créez un décorateur qui accepte dynamiquement les arguments Créer un décorateur
Jusqu'à ce que vous insériez des données dans une feuille de calcul en Python
Programme Python qui convertit les données ical en texte
MALSS (introduction), un outil qui prend en charge l'apprentissage automatique en Python
Que signifie le dernier () dans une fonction en Python?
Une note qui implémente une tâche en Python qui charge un fichier GCS dans BigQuery
J'ai créé un outil en Python qui clique avec le bouton droit sur un fichier Excel et le divise en fichiers pour chaque feuille.
Prendre une capture d'écran en Python
[C / C ++] Passez la valeur calculée en C / C ++ à une fonction python pour exécuter le processus et utilisez cette valeur en C / C ++.
Programme Python du "Livre qui enseigne facilement la programmation difficile"
Un programme polyvalent qui formate les chaînes de commande Linux avec python
Publication d'une bibliothèque qui masque les données de caractères dans les images Python
Utiliser la fonction de rappel en Python
Boucle sur un générateur qui renvoie un itérateur de date en Python
Fonction ntile (décile) en python
Créons un script qui s'enregistre avec Ideone.com en Python.
J'ai essayé "un programme qui supprime les déclarations en double en Python"
Créer un bookmarklet en Python
Pour renvoyer char * dans une fonction de rappel à l'aide de ctypes en Python
Créez le code qui renvoie "A et prétendant B" en python
[MQTT / Python] Implémentation d'une classe qui fait Pub / Sub de MQTT en Python
Modélisation de fonctions non linéaires en Python
Dessiner la fonction Yin en python
[python] Gérer les fonctions en les mettant dans un dictionnaire (table de commande, table de fonction, pointeur de fonction)
Fonction immédiate (lie) en python
Un mémo que j'ai écrit une fonction de base en Python en utilisant la récurrence
Dessinez un cœur en Python
Essayez d'exécuter une fonction écrite en Python à l'aide de Fn Project
Un ensemble de fichiers de script qui font wordcloud avec Python3
[Python] Une histoire qui semblait tomber dans un piège à contourner
Code et leçons apprises pour les fonctions qui ouvrent des dossiers Windows spéciaux dans les ctypes Python3
J'ai pensé à la logique qui divise / 22 ou / 23 en / 24 unités en spécifiant la plage IP en Python.
Jouez des sons en Python en supposant que le clavier est un clavier de piano
Un mémo qui gère les guillemets doubles pleine largeur avec les expressions régulières Python
Comment transformer une chaîne en tableau ou un tableau en chaîne en Python
Utilisez networkx, une bibliothèque qui gère les graphiques en python (Partie 2: Tutoriel)
Facile! Implémenter un bot Twitter qui s'exécute sur Heroku en Python
[Python / Django] Créer une API Web qui répond au format JSON
Un enregistrement que GAMEBOY n'a pas pu être fait avec Python. (PYBOY)
[Python] Temps d'exécution lorsqu'une fonction est saisie dans une valeur de dictionnaire
À propos de psd-tools, une bibliothèque capable de traiter des fichiers psd en Python
J'ai écrit une fonction pour charger le script d'extension Git en Python
Un programme qui détermine si un nombre entré en Python est un nombre premier
Une classe qui résume les méthodes fréquemment utilisées dans l'api twitter (python)
Quoi de neuf dans datetime qui est un peu plus utile dans Python 3
[Python] Qu'est-ce qu'une fonction zip?