Mon code est lourd

Liste des GroupesRevenir à fcl python 
Sujet : Mon code est lourd
De : yves (at) *nospam* free.invalid (yves)
Groupes : fr.comp.lang.python
Date : 05. May 2022, 21:40:34
Autres entêtes
Organisation : Guest of ProXad - France
Message-ID : <62742832$0$22051$426a74cc@news.free.fr>
User-Agent : Pan/0.144 (Time is the enemy; 28ab3ba git.gnome.org/pan2)
Bonjour,

soit une séquence, un générateur (de tuples en l'occurrence)

('02', 'D', '27')
('02', 'L', '28')
('03', 'M', '01')
('03', 'M', '02')

Pour la petite histoire,
02 et 03 correspondent à Février et Mars
D 27; c'est dimanche 27, etc...


Je voudrais arriver à imprimer:
02
D 27
L 28
03
M 01
M 02

En repassant par un  dictionnaire, j'ai ça:

#+begin_src python :results output :exports both

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)


#+end_src
#+RESULTS:
: {'02': [('D', '27'), ('L', '28')], '03': [('M', '01'), ('M', '02')]}

Et à partir du dictionnaire, l'impression finale est facile.

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 ?


@+
--
Yves

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