property_dict = {
"u" : ("unit", "Unit"),
"h": ("hsn", "HSN"),
"n": ("name", "Name"),
"t": ("gst_rate", "GST Rate"),
"a": ("abbr_name", "Abbreviation"),
"pg": ("product_group", "Group"),
"rq": ("reorder_qty", "Reorder Qty"),
"s": ("stock", "Stock"),
"pln": ("price_list_name", "Price List Name"),
"plv": ("price_list_value", "Price List Value")
}
property_dict_keyorder = {k:v for v,k in enumerate(["u", "h", "t", "a", "pg", "rq", "s", "pln", "plv"])}
property_dict = OrderedDict(sorted(property_dict.items(), key=lambda i: property_dict_keyorder.get(i[0])))
Fehler Sortierung:Typeerror, wenn ein Wörterbuch
property_dict = OrderedDict(sorted(property_dict.items(), key=lambda i: > property_dict_keyorder.get(i[0]))) TypeError: unorderable types: int() < NoneType()
Ich versuche, die dictioanry mit keyorder zu sortieren. I gedruckt, um die property_dict_keyorder
({'a': 3, 'pln': 7, 'u': 0, 'rq': 5, 'h': 1, 'pg': 4, 's': 6, 't': 2, 'plv': 8})
und überprüft die Reihenfolge beliebig ist, sondern auf das Sortieren I den obigen Fehler zu bekommen.
Ich lese Syntax behind sorted(key=lambda :) Aber ich bin immer noch nicht in der Lage zu verstehen, was schief läuft?
Es sieht nicht wie ' "n"' in Ihrer Bestellung ist. – user2357112
Warum erstellen Sie überhaupt nicht erst ein OrderedDict aus einer Liste von Schlüssel/Wert-Paaren? – user2357112
'property_dict_keyorder.get (i [0])' gibt 'None' zurück, weil' i [0] 'nicht im Wörterbuch vorhanden ist. –