2012-07-02 2 views
0

Использование redis hgetall, получает все предметы как dict.Получить последний элемент в хэш из redis с помощью python

Как получить последние пять элементов в хеше? Хотелось бы, если это возможно, обработать весь dict.

dt = cxn.hgetall(k) 

lt =[[key, dt[key]]for key in sorted(dt.iterkeys()) ] 

Выше не дает мне чистое решение, надо обрабатывать lt снова. Использование python 2.7

EDIT: hgetall(k) return {'21': 'fooo', '2': 'bar' }, Извещение о ключевой строке.

+0

, так что вы хотите сортировать по целочисленному значению ключей? –

+0

да. это один из способов, только вытащить последние пять из «hgetall» .... что-то вроде .... для lrange mylist -6 -1 – Merlin

+1

см. этот простой пример и дайте мне знать, хотите ли вы что-то, что вы хотите?

ответ

0
>>> dic={'1':100,'2':200,'3':300,'4':400,'5':500,'6':600,'7':700} 

>>> print [[str(key), dic[str(key)]]for key in sorted(map(int,dic.iterkeys()))[-5:] ] 
[['3', 300], ['4', 400], ['5', 500], ['6', 600], ['7', 700]] 
+0

нет, проверьте правку .... ключи - это – Merlin

+0

pls: измените эту а-ля так же, как и ссылку. – Merlin

+0

Обновление @Merlin. –

Смежные вопросы