Comment faire un dictionnaire à partir d une liste [Fermé]

Signaler
-
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
-
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

Messages postés
192
Date d'inscription
vendredi 21 février 2014
Statut
Membre
Dernière intervention
30 janvier 2015
37
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 ;-)
Messages postés
11066
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
18 octobre 2016
1 685
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))