Aplatir à l'aide du rendement Python de

Je comprends «yield», mais j'en suis venu à comprendre que c'est un mécanisme pour enquêter sur ce «rendement» et recevoir l'évaluation du générateur. J'ai écrit à plat avec cette compréhension

def flatten(x):
    if hasattr(x, '__iter__') and not isinstance(x, str):
        for y in x:
            yield from flatten(y)
    else:
        yield x

Si ce yield from est changé en yield, le générateur sera simplement retourné, donc je me demande s'ils se comprennent.

In : ls = [1,2,3,[4,5],[6,[7,8,[9,10,11],12]]]

In : list(flatten(ls))
Out: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

Je ne sais pas si je peux gérer ça

Recommended Posts

Aplatir à l'aide du rendement Python de
Utilisation de Rstan de Python avec PypeR
Python, rendement, retour et parfois rendement de
Remarques sur l'utilisation de MeCab depuis Python
Utiliser Cloud Storage depuis Python3 (Introduction)
Exécutez Ansible à partir de Python à l'aide de l'API
Précautions lors de l'utilisation de phantomjs de python
Accéder aux feuilles de calcul à partir de Python à l'aide d'OAuth 2.0
Essayez d'utiliser Amazon DynamoDB à partir de Python
De Python à l'utilisation de MeCab (et CaboCha)
À propos du rendement Python
Commencez à utiliser Python
sql à sql
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
MeCab de Python
Scraping à l'aide de Python
Aplatir en Python
Aplatir en python
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
Créer un fichier wav à partir du shader GLSL en utilisant python3
Exécutez des fichiers Python à partir de HTML en utilisant Django
Charger des images à partir d'une URL à l'aide de Pillow dans Python 3
Exécutez des scripts Python à partir d'Excel (en utilisant xlwings)
Utilisez Thingsspeak de Python
Touchez MySQL depuis Python 3
Manipuler Redmine à l'aide de Python Redmine
Exploitez Filemaker depuis Python
Utiliser fluentd de python
Séquence de Fibonacci utilisant Python
Accéder à bitcoind depuis python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Python depuis ou import
Utilisez MySQL depuis Python
Exécutez Python à partir d'Excel
Installer Python à partir de la source
Exécuter des commandes depuis Python
Nettoyage des données à l'aide de Python
Faites fonctionner le neutron de Python!
Utilisation des packages Python #external
Câblage Communication Pi-SPI avec Python
Utiliser MySQL depuis Python
Calcul de l'âge à l'aide de python
Faire fonctionner LXC depuis Python
Manipuler riak depuis python
Forcer Python depuis Fortran
Utilisez BigQuery depuis Python.
Rechercher sur Twitter avec Python
Identification de nom à l'aide de python
Exécuter la commande depuis Python
Notes sur l'utilisation de sous-processus Python
Essayez d'utiliser Tweepy [Python2.7]
[Python] Lire depuis Stdin
Utilisez mecab-ipadic-neologd de Python
Notification PUSH de Python vers Android à l'aide de l'API de Google
Méthodes MessagePack-Call Python (ou Python vers Ruby) à partir de Ruby à l'aide de RPC
Méthode d'installation lors de l'utilisation de RealSense à partir de Python (édition pyenv)
Implémentation d'un générateur en utilisant Python> link> yield et next ()> yield
Copier les fichiers S3 de Python vers GCS à l'aide de GSUtil