Предполагая, что ваш results
является dict
(потому что вы назвали его хэш-картой, а я предполагаю, что tweet_id
является ключом словаря, а не счетчиком), вам нужно преобразовать его в список сначала для того, чтобы иметь возможность отсортировать его. В Python 3:
results = {}
results["1234"] = {"score": 123, "tweet": "Hello"}
results["4321"] = {"score": 321, "tweet": "there"}
results["abcd"] = {"score": 111, "tweet": "sailor!"}
l=[]
for key, value in results.items(): # use .iteritems() in Python 2.x
l.append([key, value])
for item in sorted(l, key=lambda x: x[1]["score"]):
print(item)
выдаст
['abcd', {'tweet': 'sailor!', 'score': 111}]
['1234', {'tweet': 'Hello', 'score': 123}]
['4321', {'tweet': 'there', 'score': 321}]