2012-07-02 35 views
0

使用redis hgetall,將所有項目作爲字典。使用python從redis獲取哈希中的最後一項

如何獲得散列中的最後五項? 如果可能,不想處理整個字典。

dt = cxn.hgetall(k) 

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

上面並沒有給我一個乾淨的解決方案,必須重新處理lt 。使用python 2.7

編輯: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

nope,檢查編輯....鍵是str – Merlin

+0

pls:將此ans更改爲與鏈接相同。 – Merlin

+0

@Merlin解決方案已更新。 –