How to use sadd with multiple elements in Redis using Python API?

Please consider the following example.

>>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') 

[+] output: set (['1', '3', '2'])

 >>r.sadd('a',set([3,4])) >>r.smembers('a') 

[+] output: set (['1', '3', '2', 'set ([3, 4])'])

  >>r.sadd('a',[3,4]) >>r.smember('a') 

[+] set [[1, 3, 4]

According to the official documentation at https://redis-py.readthedocs.org/en/latest/ sadd (name, * values) Add values ​​to set the name

So is this a mistake or am I missing something?

+5
source share
2 answers

When you see the syntax *values in the argument list, this means that the function accepts a variable number of arguments.

Therefore call him

 r.sadd('a', 1, 2, 3) 

You can pass the iteration using the splat operator to unzip it:

 r.sadd('a', *set([3,4])) 
+13
source

Consider the following:

 r.sadd('a', 1, 2, 3) 

That should do the trick.

+1
source

All Articles