Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3837

Re: Mon code est lourd

From Benoit Izac <use.reply.to@INVALID.ADDRESS>
Newsgroups fr.comp.lang.python
Subject Re: Mon code est lourd
Date 2022-05-05 22:12 +0200
Message-ID <875ymj4u3r.fsf@izac.org> (permalink)
References <62742832$0$22051$426a74cc@news.free.fr>

Show all headers | View raw


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

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Mon code est lourd yves <yves@free.invalid> - 2022-05-05 19:40 +0000
  Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-05 19:42 +0000
    Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-05 19:43 +0000
      Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-05 19:47 +0000
        Re: Mon code est lourd yamo' <user@tld.invalid> - 2022-05-09 07:56 +0000
          Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-09 08:32 +0000
  Re: Mon code est lourd Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2022-05-05 22:12 +0200
    Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-06 13:22 +0000
  Re: Mon code est lourd Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-05-05 22:26 +0200
    Re: Mon code est lourd Dominique <zzz@aol.com.invalid> - 2022-05-06 06:40 +0200
      Re: Mon code est lourd Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-05-06 11:30 +0200
        Re: Mon code est lourd Dominique <zzz@aol.com.invalid> - 2022-05-06 15:43 +0200
          Re: Mon code est lourd Eric Demeester <neuneu@potiron.invalid> - 2022-05-08 12:19 +0200
    Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-06 13:42 +0000
      Re: Mon code est lourd Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-05-06 21:46 +0200
        Re: Mon code est lourd yves <yves@free.invalid> - 2022-05-06 20:50 +0000

csiph-web