请考虑以下示例
>>import redis >>redis_db_url = '127.0.0.1' >>r = redis.StrictRedis(host = redis_db_url,port = 6379,db = 0) >>r.sadd('a',1) >>r.sadd('a',2) >>r.sadd('a',3) >>r.smembers('a')
[+]输出:set([‘1’,‘3’,‘2’])
>>r.sadd('a',set([3,4])) >>r.smembers('a')
[+]输出:set([[‘1’,‘3’,‘2’,’set([3,4])’])
>>r.sadd('a',[3,4]) >>r.smember('a')
[+] set([‘1’,’[3,4]’,‘3’,‘2’,’set([3,4])’])
根据https://redis-py.readthedocs.org/zh-CN/latest/中的官方文档, sadd(name,* values)添加值以设置名称
那是一个错误还是我错过了一些东西?
当您*values在参数列表中看到语法时,这意味着该函数接受可变数量的参数。
*values
因此,将其称为
r.sadd('a', 1, 2, 3)
您可以通过使用splat运算符来传递可迭代对象以对其进行解压缩:
r.sadd('a', *set([3, 4]))
要么
r.sadd('a', *[3, 4])