Re: Mon code est lourd

Liste des GroupesRevenir à fcl python 
Sujet : Re: Mon code est lourd
De : use.reply.to (at) *nospam* INVALID.ADDRESS (Benoit Izac)
Groupes : fr.comp.lang.python
Date : 05. May 2022, 22:12:08
Autres entêtes
Message-ID : <875ymj4u3r.fsf@izac.org>
References : 1
Bonjour,

Le 05/05/2022 à 21:40, yves <yves@free.invalid> a écrit dans le message
<62742832$0$22051$426a74cc@news.free.fr> :

from pprint import pprint
>
def g():
    yield('02', 'D', '27')
    yield('02', 'L', '28')
    yield('03', 'M', '01')
    yield('03', 'M', '02')
>
>
dic = {}
l02,l03 = [],[]
for elt in g():
    m , d, nd = elt
    if m == "02":
        l02.append((d,nd))
        dic['02'] = l02
    elif m == "03":
        l03.append((d,nd))
        dic['03'] = l03
>
pprint(dic)
>
[...]
>
Mais cette méthode de conversion du générateur en dictionnaire me
paraît terriblement lourde, surtout qu'il y aura douze mois, c'est à
dire douze branchement if/elif
>
Vous auriez des suggestions d'écriture plus élégante ?

dic = {}
for m, d, nd in g():
    dic.setdefault(m, []).append((d, nd))
pprint(dic)

--
Benoit Izac

Date Sujet#  Auteur
5 May 22 * Mon code est lourd16yves
5 May 22 +* Re: Mon code est lourd5yves
5 May 22 i`* Re: Mon code est lourd4yves
5 May 22 i `* Re: Mon code est lourd3yves
9 May 22 i  `* Re: Mon code est lourd2yamo'
9 May 22 i   `- Re: Mon code est lourd1yves
5 May 22 +* Re: Mon code est lourd2Benoit Izac
6 May 22 i`- Re: Mon code est lourd1yves
5 May 22 `* Re: Mon code est lourd8Alain Ketterlin
6 May 22  +* Re: Mon code est lourd4Dominique
6 May 22  i`* Re: Mon code est lourd3Alain Ketterlin
6 May 22  i `* Re: Mon code est lourd2Dominique
8 May 22  i  `- Re: Mon code est lourd1Eric Demeester
6 May 22  `* Re: Mon code est lourd3yves
6 May 22   `* Re: Mon code est lourd2Alain Ketterlin
6 May 22    `- Re: Mon code est lourd1yves

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal