Haben Sie schon einmal versucht, ein verschachteltes Array wie dieses zu glätten?
Wenn Sie Schwierigkeiten haben, ein solches verschachteltes Array zu glätten, würden Sie gerne eine elegante Lösung wie diese finden:
…oder um das Objekt eines tief verschachtelten Wörterbuchs wie unten in einer Codezeile zu erhalten.
Wenn Sie nach einer Bibliothek suchen, die nützliche Dienstprogramme für den Umgang mit Python-Objekten wie oben bietet, ist pydash Ihre Bibliothek der Wahl.
Pydash ist die Küchenspüle von Python-Dienstprogrammbibliotheken, um "Zeug" auf funktionale Weise zu erledigen .
Um pydash zu installieren, stellen Sie sicher, dass Ihre Python-Version ≥ 3.6 ist, und geben Sie dann Folgendes ein:
pip install pydash
Sie können eine verschachtelte Python-Liste mit der py_.flattenMethode reduzieren:
Was ist, wenn Ihre Liste wie unten tief verschachtelt ist?
Dann ist die py_.flatten_deepMethode praktisch:
Wenn Sie eine Liste abflachen können, können Sie dann auch eine abgeflachte Liste in eine verschachtelte umwandeln? Ja, das geht mit der py_.chunkMethode:
Nett! Die Elemente in der Liste sind in 2er-Gruppen aufgeteilt.
Um ein Attribut aus dem Wörterbuch wegzulassen, können wir die py_.omitMethode verwenden:
Wie bekommt man das pricevon einem appleaus , Walmartdass ist in seasonin einem verschachtelten Wörterbuch wie unten?
Normalerweise müssen Sie viele Klammern verwenden, um diese Informationen zu erhalten:
[2, 4]
Cool! Sie können das Element auch in einem Array abrufen, indem Sie [index]:
2
Um den Index eines Elements in einer Liste mithilfe einer Funktion abzurufen, verwenden Sie die py_.find_indexMethode:
Mit der py_.find_indexMethode können Sie den Index des Objekts abrufen, das einem bestimmten Muster entspricht. Aber was ist, wenn Sie die Elemente in einer Liste anstelle des Index erhalten möchten?
Das könnte man mit der py_.filterMethode machen:
Manchmal kann Ihre Liste von Wörterbüchern wie unten verschachtelt sein. Wie können Sie das tasteAttribut von erhalten apple?
Zum Glück geht das ganz einfach mit der py_.map_Methode:
Mit der py_.timesMethode können Sie eine Funktion n-mal ausführen . Diese Methode ist eine gute Alternative zu einer for-Schleife.
Manchmal möchten Sie vielleicht mehrere Methoden auf ein Objekt anwenden. Können Sie, anstatt mehrere Codezeilen zu schreiben, alle Methoden gleichzeitig anwenden?
Dann ist Methodenverkettung praktisch. Um die Methodenverkettung in einem Objekt anzuwenden, verwenden Sie die py_.chainMethode:
Beachten Sie, dass das Ausführen des obigen Codes uns nicht den Wert liefert:
<pydash.chaining.Chain at 0x7f8d256b0dc0>
Dies wird als faule Auswertung bezeichnet . Die verzögerte Auswertung hält die Auswertung eines Ausdrucks an, bis sein Wert benötigt wird, wodurch eine wiederholte Auswertung vermieden wird.
Wenn Sie Ihre eigenen Methoden anstelle der Methoden von pydash verwenden möchten, verwenden Sie die mapMethode:
Um den Anfangswert einer Kette durch einen anderen Wert zu ersetzen, verwenden Sie die plantMethode:
Cool! Wir ersetzen ['apple', 'orange', 'grapes']mit ['apple', 'orange']bei Verwendung der gleichen Kette!
Herzliche Glückwünsche! Sie haben gerade gelernt, wie Sie Python-Objekte effizient mit pydash manipulieren. Ich hoffe, dieser Artikel wird Ihrem Python-Toolkit einige weitere nützliche Tools hinzufügen.
Es gibt so viele weitere coole Methoden, die pydash bietet, die ich in diesem Artikel nicht behandeln konnte. Ich empfehle Ihnen, sich die API-Referenz von pydash anzusehen .
Zögern Sie nicht, den Code für diesen Artikel in diesem Github-Repository zu forken und zu spielen:
Ich schreibe gerne über grundlegende Data-Science-Konzepte und spiele mit verschiedenen Algorithmen und Data-Science-Tools. Sie können sich mit mir auf LinkedIn und Twitter verbinden .
Star dieses Repo , wenn Sie die Codes für alle Artikel prüfen wollen , die ich geschrieben habe. Folgen Sie mir auf Medium, um mit meinen neuesten Data Science-Artikeln wie diesen auf dem Laufenden zu bleiben:
Sie haben sicher schon von allen neuen leistungsstarken ChatGPT-Plugins wie Browser, Code Interpreter usw. gehört. Es gibt jedoch ein Problem: Der Zugriff auf Plugins ist auf eine Warteliste beschränkt und viele haben daher keinen Zugriff darauf.
Diese Woche erhielt ich eine E-Mail von einem Mitglied der täglichen E-Mail-Liste. Sie wollten wissen: Welche Ressourcen besuchen Sie täglich, wöchentlich und monatlich? Tolle Frage! Ich versuche gerne, einige Einblicke in meinen Arbeitsablauf und die wichtigsten Ressourcen, die ich verwende, mit Ihnen zu teilen.
In der sich schnell entwickelnden Geschäftslandschaft von heute hat das Konzept der Hybrid- und Remote-Arbeit eine beispiellose Dynamik erlangt. Während sich Unternehmen weiterhin an die sich verändernden Bedürfnisse und Erwartungen ihrer Mitarbeiter anpassen, sind Experten aus verschiedenen Bereichen zusammengekommen, um die Vorteile, Herausforderungen und die Zukunft dieser transformativen Arbeitsweise zu diskutieren.
Es war nach Mitternacht, als Hayden Katie nach ihrem gemeinsamen Abend zurück in ihren Studentenwohnheim fuhr. Sie hatte morgens einen frühen Unterricht und hatte keine Kleidung mehr zum Wechseln, nachdem sie die Nacht zuvor bei ihm übernachtet hatte.
Was alt ist, ist jetzt wieder neu und was früher das glitzernde, glänzende Ding war, fühlt sich jetzt langweilig an. Ich spreche nicht davon, dass JNCO-Jeans zusammen mit anderen Modetrends der späten 1990er Jahre unter den coolen Kids in der Innenstadt ein Comeback erleben.
Gestern haben wir die Tür zum diesjährigen Eurovision Song Contest mit einem glitzernden, chaotischen großen Finale geschlossen, bei dem die schwedische Sängerin Loreen die Trophäe mit nach Hause nahm. Sie war damit die erste Frau, die zweimal gewann, und holte die Krone 50 Jahre nach dem Gewinn des Wettbewerbs durch ABBA zurück nach Schweden mit „Waterloo“. Sie entwickelten sich zu einem der größten Acts im Kanon der Popmusik.