Sie sind ein Wörterbuch an eine Funktion, die eine Zeichenfolge erwartet.
Diese Syntax:
{"('Hello',)": 6, "('Hi',)": 5}
ist sowohl ein gültiger Python-Wörterbuch wörtlichen und ein gültiges JSON Objektliteral. Aber loads
nimmt kein Wörterbuch; Es nimmt eine Zeichenfolge, die es dann als JSON interpretiert und gibt das Ergebnis als ein Wörterbuch (oder String oder Array oder Nummer, abhängig von der JSON, aber in der Regel ein Wörterbuch).
Wenn Sie diese Zeichenfolge loads
passieren:
'''{"('Hello',)": 6, "('Hi',)": 5}'''
dann wird es ein Wörterbuch zurück, die viel wie die zu übergeben Sie versuchen, aussieht.
Sie könnten ausnutzen auch die Ähnlichkeit von JSON Objektliterale zu Python Wörterbuch Literale durch dies zu tun:
json.loads(str({"('Hello',)": 6, "('Hi',)": 5}))
Aber in beiden Fällen würden Sie nur das Wörterbuch zurück, die Sie nebenbei sind, so dass ich Ich bin mir nicht sicher, was es erreichen würde. Was ist dein Ziel?
'json.loads ('' {'(' Hallo ',)": 6, "(' Hi ',)": 5}' '') '. Das 's' in' Lasten' steht für String. – BallpointBen
Sieht so aus, als ob Sie bereits mit dem eigentlichen Wörterbuch und nicht mit einer Zeichenfolge arbeiten. Wie liest du die Daten ein, die du verloren hast? – jorijnsmit