是否按值加入python中字典的queryset?

2024-09-22 20:31:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个查询集-

[

   {'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。你知道吗

提前谢谢!你知道吗


Tags: 结构fkdelriocantidadnombrehabanacategoria
1条回答
网友
1楼 · 发布于 2024-09-22 20:31:18

对你有用吗?你知道吗

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

相关问题 更多 >