2017-06-13 2 views
0

Ich habe diese queryset -Join Abfrage-Set von Wörterbuch in Python nach Wert?

[ 

    {'estacion__nombre': u'Agencia 5ta y 42', 'cantidad': 1, 'fk_codigosm__fk_categoria__identificador': u'b'}, 
    {'estacion__nombre': u'Agencia 5ta y 42', 'cantidad': 2, 'fk_codigosm__fk_categoria__identificador': u'D'}, 
    {'estacion__nombre': u'Agencia Habana', 'cantidad': 2, 'fk_codigosm__fk_categoria__identificador': u'D'}, 
    {'estacion__nombre': u'Agencia Pinar del Rio', 'cantidad': 1, 'fk_codigosm__fk_categoria__identificador': u'b'} 

] 

ich dies wollen gemäß der beschriebenen Struktur oben

Agencia 5ta y 42 (1,b) (2,D) 
Agencia Habana (2,D) 
Agencia Pinar del Rio (1,b) 

ich python2.7 verwende.

Vielen Dank im Voraus!

+0

die Python-Version? – tom

+0

Python 2.7 danke –

Antwort

0

Wird es für Sie arbeiten?

d = [ 
     {'estacion__nombre': u'Agencia 5ta y 42', 'cantidad': 1, 'fk_codigosm__fk_categoria__identificador': u'b'}, 
     {'estacion__nombre': u'Agencia 5ta y 42', 'cantidad': 2, 'fk_codigosm__fk_categoria__identificador': u'D'}, 
     {'estacion__nombre': u'Agencia Habana', 'cantidad': 2, 'fk_codigosm__fk_categoria__identificador': u'D'}, 
     {'estacion__nombre': u'Agencia Pinar del Rio', 'cantidad': 1, 'fk_codigosm__fk_categoria__identificador': u'b'} 
    ] 

isVisitedAddress = {} 

for element in d: 
    address = "{0}".format(element.get("estacion__nombre")) 
    if address not in isVisitedAddress: 
     isVisitedAddress[address] = [] 
    isVisitedAddress[address].append(
          [element.get("cantidad") ,element.get("fk_codigosm__fk_categoria__identificador")]) 

for key in isVisitedAddress.keys(): 
    finalValue = key 
    valuesArray = isVisitedAddress.get(key) 
    for values in valuesArray: 
     valuekey = ','.join(map(str, values)) 
     finalValue = "{} ({})".format(finalValue , valuekey) 

    print finalValue 

Output-

Agencia 5ta y 42 (1,b) (2,D) 
Agencia Habana (2,D) 
Agencia Pinar del Rio (1,b) 

Weitere Check this

+0

Agencia 5ta y 42 hat zwei D und eine bI wollen sich diesem anschließen, in einem einzigen dict.Exampe 'estacion__nombre': u'Agencia 5ta y 42 ',' cantidad_b ': 1,' fk_codigosm__fk_categoria__identificador ': u'b ',' cantidad_D ': 1,' fk_codigosm__fk_categoria__identificador ': u'D', –

+0

Ich habe meine Antwort aktualisiert, bitte schauen Sie sich das an - – tom

+0

Wiederholen Sie Agencia 5ta y 42. Ich möchte nicht wiederholt werden. Ich möchte nach Agencia 5ta y 42 gruppieren. 'estacion__nombre': u'Agencia 5to y 42 ',' cantidad_b ': 1,' fk_codigosm__fk_categoria__identificador ': u'b', 'cantidad_D': 1, 'fk_codigosm__fk_categoria__identificador': u'D ', –

Verwandte Themen