Chao ... †
Es gibt Zeiten, in denen Sie verschachtelte (verschachtelte) Listen in Python zu einer einzigen Liste kombinieren möchten, dh reduzieren. Informationen zum Umgang mit solchen Fällen finden Sie sofort im Internet. Aber ist es nicht ärgerlich, es einzeln zu kopieren und einzufügen? Ich bin genervt. In diesem Artikel werde ich das Modul flati
vorstellen, das in Python abgeflacht wird.
Derzeit werden Python 2.7 und Python 3.4 ~ 3.8 unterstützt. Da es sich um ein Pure-Python-Modul handelt, funktioniert es auf verschiedenen Plattformen wie Windows / macOS / Ubuntu, sofern es über eine kompatible Python-Umgebung verfügt.
Ich nannte es "Flati", indem ich Flattenverarbeitung und Fulvio Frati (einen Lehrer, der bei mir studiert hat) anwendete. Bitte sprechen Sie "Flati" aus.
$ pip install flati
or
$ python -m pip install flati
import flati
# flati.flatten()Ist ein Generator, der verschachtelte iterierbare Objekte Element für Element zurückgibt.
#Wenn Sie die zurückgegebenen Werte zu einem iterierbaren Objekt kombinieren möchten, listen Sie auf()Bitte benutzen Sie etc.
iterable = [(1, 2, 3), (4, (5, 6))]
list(flati.flatten(iterable))
# => [1, 2, 3, 4, 5, 6]
#Ich werde es wieder schreiben. flati.flatten()Ist ein Generator.
import types
isinstance(flati.flatten(iterable), types.GeneratorType)
# => True
#Wenn Sie ein bestimmtes iterierbares Objekt nicht reduzieren möchten,"ignore"Bitte mit einem Argument angeben.
iterable = [('abc'), ('def', ('g', 'hi'))]
list(flati.flatten(iterable, ignore=str))
# => ['abc', 'def', 'g', 'hi']
Tips Wenn Sie NumPys "ndarray" reduzieren möchten, verwenden Sie die NumPy-Funktion. Das geht schneller
Referenz: https://python.atelierkobato.com/flat/
Ich werde vorstellen, was ich gefunden habe, indem ich mit PyPI nach "Abflachen" gesucht habe. Diejenigen, die den Typ "dikt" abflachen, sind ausgeschlossen.
Ich bin müde, also lasse ich es hier.
――Wenn es Ihnen gefällt, geben Sie flatis GitHub-Repository einen Stern. Mit nur einem Klick ist meine Entwicklungsmotivation gestiegen. ――Stars sind nicht genug! Wenn ja, können Sie mir Geld oder andere Dinge senden, indem Sie auf die Sponsor-Schaltfläche im GitHub-Repository von flati klicken. Die Motivation für meine Entwicklung wird erheblich zunehmen.
Für die nächsten Tage möchte ich einige Module vorstellen, die ich vorerst gemacht habe, aber überhaupt nicht beworben habe.
Zittern und warten ... †
Recommended Posts