


Out-of-Order-Elemente in JSON-Objekten mit „json.dumps“?
In Ihrem Code verwenden Sie „json .dumps“, um eine Liste von Wörterbüchern in JSON zu konvertieren. Sie haben jedoch festgestellt, dass die Reihenfolge der Schlüssel in den einzelnen Wörterbüchern nicht den Erwartungen entspricht. Insbesondere müssen die Schlüssel in der Reihenfolge „id“, „name“ und „timezone“ erscheinen.
Begründung
Beide Python-Wörterbücher (vor Python 3.7) und JSON-Objekte sind ungeordnete Sammlungen. Dies bedeutet, dass die Reihenfolge der Schlüssel in einem Wörterbuch oder JSON-Objekt nicht garantiert ist.
Lösung 1: Schlüssel sortieren
Sie können den Parameter „sort_keys“ von verwenden „json.dumps“, um die Schlüssel im Ausgabe-JSON zu sortieren. Zum Beispiel:
<code class="python">import json countries.append({"id":row.id,"name":row.name,"timezone":row.timezone}) print(json.dumps(countries, sort_keys=True))</code>
Dadurch wird JSON mit den Schlüsseln in der folgenden Reihenfolge ausgegeben:
[ {"id": 1, "name": "Mauritius", "timezone": 4}, {"id": 2, "name": "France", "timezone": 2}, {"id": 3, "name": "England", "timezone": 1}, {"id": 4, "name": "USA", "timezone": -4} ]
Lösung 2: OrderedDict verwenden
Wenn Sie eine bestimmte Reihenfolge für die Schlüssel benötigen, können Sie die Klasse „collections.OrderedDict“ verwenden. OrderedDict behält die Reihenfolge der darin eingefügten Schlüssel bei. Zum Beispiel:
<code class="python">from collections import OrderedDict countries_by_id = OrderedDict() countries_by_id["id"] = row.id countries_by_id["name"] = row.name countries_by_id["timezone"] = row.timezone print(json.dumps(countries_by_id))</code>
Dadurch wird JSON mit den Schlüsseln in der Reihenfolge „id“, „name“ und „timezone“ ausgegeben.
Zusätzlicher Hinweis
In Python 3.6 und höher wird die Reihenfolge der Schlüsselwortargumente in Wörterbüchern beibehalten. Dies bedeutet, dass Sie das gleiche Ergebnis wie mit OrderedDict erzielen können, indem Sie beim Erstellen des Wörterbuchs einfach die Schlüssel in der gewünschten Reihenfolge angeben:
<code class="python">countries = {"id": row.id, "name": row.name, "timezone": row.timezone}</code>
Dadurch bleibt die Reihenfolge der Schlüssel im Ausgabe-JSON automatisch erhalten.
Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich die Reihenfolge der Schlüssel in meiner JSON-Ausgabe von der Reihenfolge in meinem Python-Wörterbuch, das „json.dumps' verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Arraysinpython, besondersvianumpy, arecrucialInScientificComputingFortheirefficience undvertilität.1) Sie haben festgelegt, dass die Fornerikerne, Datenanalyse und Machinelarning.2) Numpy'SimplementationIncensuresFasteroperationsdanpythonlisten.3) Araysensableableableableableableableableableableableableableableableableableableableableableableableableableable

Sie können verschiedene Python -Versionen mithilfe von Pyenv, Venv und Anaconda verwalten. 1) Verwalten Sie PYENV, um mehrere Python -Versionen zu verwalten: Installieren Sie PyEnv, setzen Sie globale und lokale Versionen. 2) Verwenden Sie VenV, um eine virtuelle Umgebung zu erstellen, um Projektabhängigkeiten zu isolieren. 3) Verwenden Sie Anaconda, um Python -Versionen in Ihrem Datenwissenschaftsprojekt zu verwalten. 4) Halten Sie das System Python für Aufgaben auf Systemebene. Durch diese Tools und Strategien können Sie verschiedene Versionen von Python effektiv verwalten, um den reibungslosen Betrieb des Projekts zu gewährleisten.

NumpyarrayShaveseveraladVantagesOverStandardPythonArrays: 1) SiearemuchfasterDuetoc-basiert, 2) sie istaremoremory-effizient, insbesondere mit mit LaShlargedatasets und 3) sie können sich mit vektorisierten Funktionsformathematical und Statistical opertical opertical opertical operticaloperation, Making

Der Einfluss der Homogenität von Arrays auf die Leistung ist doppelt: 1) Homogenität ermöglicht es dem Compiler, den Speicherzugriff zu optimieren und die Leistung zu verbessern. 2) aber begrenzt die Typ -Vielfalt, was zu Ineffizienz führen kann. Kurz gesagt, die Auswahl der richtigen Datenstruktur ist entscheidend.

TocraftexecutablePythonScripts, folge theseBestPractices: 1) addashebangline (#!/Usr/bin/envpython3) tomakethescriptexcutable.2 SetPermissions withchmod xyour_script.py.3) organisation -bithacleardocstringanduseInname == "__ __": FormAcleardocstringanduseInname

NumpyarraysarebetterFornumericaloperations und multi-dimensionaldata, whilethearraymoduleiStableforbasic, an Gedächtniseffizienten

NumpyarraysarebetterforeheavynumericalComputing, während der projectwithsimpledatatypes.1) numpyarraysoferversatility und -PerformanceForlargedataSets und Compoxexoperations.2) thearraysoferversStility und Mächnory-Effefef

ctypesallowscreatingandmanipulationsc-stylearraysinpython.1) usectypestoInterfaceWithClibraryForperformance.2) createCec-stylearraysFornumericalComputationen.3) PassarrayStocfunctionsFectionFicecher-Operationen.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung
