[Python-de] erstes Element der Liste

Gerhard Häring haering_python at gmx.de
Wed Jul 17 14:47:27 EDT 2002


* Axel_Gerke at peacock.de <Axel_Gerke at peacock.de> [2002-07-17 13:29 +0100]:
> Hi zusammen,
> 
> folgende Liste wird aus einem SQL-Statement erstellt:
> 
> return [{'subcustomerid':x.subcustomer_id,
>          'companyName':str(x.stamm),
>          'street':str(x.street),
>          'zipCode':str(x.zipcode),
>          'city':str(x.city),
>         } for x in
> context.sqlQueries.sqlGetDeliveryAddress(customer_id=RequestID)]
> 
> Das ganze liefert mir eine Liste mit n dictionaries.

> Wie bekomme ich nur das erst Element der Liste in diesem Statement?

... for x in [context.sqlQueries.sqlGetDeliveryAddress(customer_id=RequestID)[0]]]

Nicht schön, aber man muss nur ganz wenige Zeichen einfügen ;-)

Ansonsten halt umschreiben:

    first_adr = context.sqlQueries.sqlGetDeliveryAddress(customer_id=RequestID)[0]
    return {'subcustomer_id': first_adr.subcustomer_id, ...}

Evtl. macht es auch Sinn, sqlGetDeliveryAddress so umzuschreiben, dass
es einen Iterator zurückliefert, speziell wenn man üblicherweise nicht
alle Elemente davon braucht. Wenn man von dem Iterator genau das erste
zurückgelieferte Element braucht, einfach next() darauf aufrufen.

Gerhard
-- 
This sig powered by Python!
Außentemperatur in München: 19.9 °C      Wind: 4.2 m/s



More information about the Python-de mailing list