2016-08-03 12 views
0

I 2 SET-Strukturen mit den folgenden Werten haben hinzugefügt:Redis - Pyredis durch Ergebnisse aus SINTER auf SET Iterieren

r.sadd("clONE", 'abc') 
r.sadd("clONE", 'def') 
r.sadd("clONE", 'ghi') 

r.sadd("TWO", 'abc') 
r.sadd("TWO", 'def') 

print(r.sinter("clONE", "TWO")) 
OUTPUT: set(['abc', 'def']) 

Wie bekomme ich den Wert 'abc' und 'def' aus dem SET () mit Pyredis? Ich versuchte Array Syntax von Array-Index spezifiziert [0] bekam aber den folgenden Fehler

print(r.sinter("clONE", "TWO")[0]) 

TypeError: 'set' object does not support indexing 

Antwort

1

Sätze werden nicht indiziert. Die Reihenfolge hängt vom internen Hash ab. Verlassen Sie sich nie auf die Reihenfolge in einem Set, auch wenn es logisch erscheint.

können Sie wie folgt vorgehen:

s = r.sinter("clONE", "TWO") 

# iterate through the set, unsorted 
for i in s: 
    print(i) 

oder

l = sorted(s) # returns a sorted list (alphanum) 
print(l[0]) # will print 'abc' 
Verwandte Themen