按值加入python中字典的查询集?

时间:2017-06-13 19:57:19

标签: python django dictionary

我有这个查询集 -

[

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

]

我希望按照上述结构 -

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

我正在使用python2.7。

提前致谢!

1 个答案:

答案 0 :(得分: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)

有关详情this