2012-07-02 39 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解决方案已更新。 –