2017-06-13 9 views
0

私はこのクエリセットを持っている -pythonの辞書のquerysetを値で結合しますか?

[ 

    {'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'} 

] 

私はpython2.7を使用しています

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

上述のような構造に従って、私はこれをしたいです。

ありがとうございます!

+0

のために? – tom

+0

python 2.7 thanksありがとう –

答えて

0

あなたのために働くでしょうか?

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 

出力 -

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

複数のチェックPythonのバージョンthis

+0

Agencia 5ta y 42には2つのDと1つのBがあります。これは1つの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

私は私の答えを更新しました。これを見てください。 - – tom

+0

Repeat Agencia 5ta y 42。繰り返したくありません。 私はAgencia 5ta y 42でグループ化したいです。 '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 '、 –

関連する問題