当前位置: 首页 > 面试题库 >

如何从python中将无限传递给redis?

秦昂然
2023-03-14
问题内容

我正在使用redis-py,并希望将-
inf和inf与ZRANGEBYSCORE一起使用。我试图使用inf的字符串和浮点数来执行此操作,但是它们返回一个空集。我怎样才能做到这一点?

编辑

我尝试执行以下命令:

redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", "-inf", "inf")

要么

redis.StrictRedis.ZRANGEBYSCORE("SORTEDSET", float("-inf"), float("inf"))

更新 我的错误是我对zrangebyscore的抽象错误地使用了zrange … inf的工作原理如下。


问题答案:

这是我的代码已经过测试:

import unittest

from redis import Redis


class RedisTest(unittest.TestCase):

    def setUp(self):
        self.redis = Redis()

    def test_zrangebyscore(self):
        r = self.redis
        name = 'myset'
        r.zadd(name, 'one', 1)
        r.zadd(name, 'two', 2)
        r.zadd(name, 'three', 3)
        r.zadd(name, 'four', 4)

        self.assertTrue(r.zrangebyscore(name, '-inf', '+inf') == ['one', 'two', 'three', 'four'])
        self.assertTrue(r.zrangebyscore(name, 1, 1) == ['one'])
        self.assertTrue(r.zrangebyscore(name, 1, 2) == ['one', 'two'])
        self.assertTrue(r.zrangebyscore(name, 2, 3) == ['two', 'three'])
        self.assertTrue(r.zrangebyscore(name, '(1', '(2') == [])
        self.assertTrue(r.zrangebyscore(name, '(1', '(3') == ['two'])


 类似资料:
  • 问题内容: 当提供一些参数时,我想使我的python脚本从命令行运行。但是,参数之一应该是特定于脚本一个片段的选项列表。字符串解析是在逗号分隔“命令行列表”字符串之后实际构造列表的唯一方法吗?如果是这样,您将如何处理? 示例:-details = [‘name’,’title’,’address’] 问题答案: 程序: 命令行: 输出: 此代码段将执行短或长命令切换(例如或),并在切换到Pytho

  • 问题内容: 我是新来提升python的人。我必须先在cpp代码中初始化一个cpp类实例,然后将此cpp实例传递给python代码,然后使用python类实例来调用它(cpp实例)。我已经尝试了Python / C API的方式,但是失败了,所以我想知道如何将c ++类实例传递给python类。 以下是我的代码,从boost python演示更改了。 在main.cpp中 在python.py中 在

  • 问题内容: 我的字符串中某些地方包含数字,并且我正尝试用其单词符号替换此数字(即3-> 3)。我有一个功能可以做到这一点。现在的问题是找到字符串中的数字,同时保持字符串的其余部分不变。为此,我选择使用该函数,该函数可以接受“ callable”。但是,传递给它的对象是内部对象,我不确定如何处理它。我的函数接受数字或其字符串表示形式。 我应该如何编写一些辅助函数,该函数可用于将调用与执行所需处理的函

  • 问题内容: 以下作品: 垃圾邮件 但是,如果拿来争论呢? TypeError:spam()恰好接受1个参数(给定0) 鉴于我无权访问函数本身,而只能访问代码对象,执行该函数时如何将参数传递给该代码对象?评估可能吗? 编辑:由于大多数读者倾向于不相信这样做的用处,请参见以下用例: 我想将小的Python函数保存到文件中,以便可以从其他计算机上调用它们。(在这里不必说这个用例会严重限制可能的功能。)腌

  • 问题内容: 假设我Button在Python中使用进行了以下操作: 当我按下按钮时会调用该方法,但是如果我想向该方法传递一些参数呢? 我尝试使用以下代码: 这只是立即调用该方法,而按该按钮则无济于事。 问题答案: 我个人更喜欢lambdas在这种情况下使用,因为imo更加简单明了,并且如果你无法控制被调用的方法,也不会强迫你编写很多包装方法,但这当然是一个问题。 这就是使用lambda的方式(请注

  • 问题内容: 我正在用C语言编写一个Python扩展,它需要CoreFoundation框架(除其他外)。可以使用以下命令进行编译: (“ -framework”是仅适用于Apple的gcc扩展,但这没关系,因为无论如何我都在使用它们的特定框架) 我如何告诉setup.py将此标志传递给gcc? 我尝试了这个,但是它似乎不起作用(它可以编译,但是当我尝试运行它时会抱怨未定义的符号): 编辑: 这似乎