Sie haben verwirrt und Art sortiert. sortiert ist eine Funktion, die das ursprüngliche iterable allein lässt, aber gibt einen sortierten Artikel zurück. Sie haben diesen Wert nicht gespeichert. Versuchen Sie folgendes:
return sorted(D, key = lambda x:x[0])
Beispiel
def insert(key, value, D, hasher = hash):
x = hash(key)
key_value = (x, key, value)
D.append(key_value)
print D
D.sort()
return D
D = []
insert("swag", 100, D, hash)
insert("swg", 150, D, hash)
insert("loot", 200, D, hash)
insert("crud", 50, D, hash)
print(D)
Ausgang:
[(-1840385907632881630, 'swag', 100)]
[(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150)]
[(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5971043325587305850, 'loot', 200)]
[(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5971043325587305850, 'loot', 200), (5473401298224946764, 'crud', 50)]
[(-1840385907632881630, 'swag', 100), (-369175422006790866, 'swg', 150), (5473401298224946764, 'crud', 50), (5971043325587305850, 'loot', 200)]
Haben Sie nicht, dass die Verwendung 'Hasher (key)' statt 'hash (key) '. Andernfalls verwenden Sie die Hash-Funktion Hashing immer unabhängig vom angegebenen Argument. –