Comment faire un dictionnaire à partir d une liste

Fermé
patachou - 14 nov. 2014 à 11:18
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 16 nov. 2014 à 14:45
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
A voir également:

2 réponses

aurelazy Messages postés 189 Date d'inscription vendredi 21 février 2014 Statut Membre Dernière intervention 30 janvier 2015 50
14 nov. 2014 à 11:43
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
16 nov. 2014 à 14:45
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