次の例を検討してください
>>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/en/latest/ sadd(name、* values)の公式ドキュメントによると、名前を設定するために値を追加します
それで、それはバグですか、それとも私は何かが足りませんか?
構文が表示されたら*values
引数リストでは、関数が可変数の引数を取ることを意味します。
したがって、それを次のように呼びます
r.sadd('a', 1, 2, 3)
Splat演算子を使用してイテラブルをアンパックすると、イテラブルを渡すことができます。
r.sadd('a', *set([3, 4]))
または
r.sadd('a', *[3, 4])
次のことを考慮してください。
r.sadd('a', 1, 2, 3)
それでうまくいくはずです。