Comment faire un dictionnaire à partir d une liste

patachou -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

voici ma liste:
list=['tw_paris', 'tw_tokyo', 'tw_londres', 35, 'tw_moscou', 12, 'yes', 14, 18]

et je voudrai obtenir ce dictionnaire
dic={'tw_paris': '' , 'tw_tokyo':'' ,'tw_londres':35,'tw_moscou':(12,'yes',14,18)}

Que me conseiller vous?

Merci

2 réponses

  1. aurelazy Messages postés 197 Statut Membre 50
     
    Bonjour Patachou,

    Voici quelques directions.
    Boucle for sur ta liste, si c'est un chiffre ==> dans valeur de tw_*.
    Pour ce qui est du 'yes', est_ce toujours cette valeur (avec 'no') ? donc tu recherche aussi les occurences 'yes' and 'no'.

    Sinon, toujours boucle for, et toutes les occurences en 'tw_*' seront les clé et ce qui suit les valeurs de ces clé !
    Voila, ce que j'aurais essayé de faire.

    Bon courage ;-)
    0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Effectivement, tu peux faire avec la boucle for.
    Mais tu peux aussi faire plus court (notation slice) :
    dict(zip(liste[::2],liste[1::2]))

    Ou encore plus concis :
    dict(zip(*[iter(liste)]*2))
    0