在zset中可以得到元素的元组列表及其得分吗?例如:

redis.zrange-function('channel', 0, -1)
[('item1', 123), ('item2', 333), etc.]

最佳答案

对于redis-py,根据docs for zrange(),在zrange()中有一个可选参数:
zrange(name, start, end, desc=False, withscores=False, score_cast_func=<type 'float'>)
从按升序排序的开始和结束之间的排序集名称返回一个值范围。

withscores表示返回分数和值。返回类型是(值,分数)对的列表
例子:

In [292]: import redis

In [293]: r = redis.Redis()

In [294]: r.zadd('channel', 'a', 0, 'b', 5, 'c', 8, 'd', 20)
Out[294]: 4

In [295]: r.zrange('channel', 0, -1, withscores=True)
Out[295]: [(b'a', 0.0), (b'b', 5.0), (b'c', 8.0), (b'd', 20.0)]

关于python - 得分zrange得分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52582614/

10-12 23:23