J'ai une liste [5, 90, 23, 12, 34, 89] etc. où chaque deux valeurs devrait être une liste (classée) dans le dictionnaire. Donc la liste ci-dessus deviendra {1: [5, 90], 2: [23, 12], 3: [34, 89]} etc. Je me suis rapproché de la compréhension de la liste mais je n'ai pas craqué il. J'ai essayé:Créer dict dicté avec la compréhension de la liste
my_list = [5, 90, 23, 12, 34, 89]
my_dict = dict((i+1, [my_list[i], my_list[i+1]]) for i in xrange(0, len(my_list)/2))
Qui fonctionne pour la première clé, mais toutes les valeurs suivantes sont désactivées par un index. Comment ferais-tu ceci?
Parfait, merci. Y a-t-il un avantage à l'approche iter? – Ian
IMHO, la deuxième approche est plus Pythonic, mais souffre de la lisibilité lorsqu'il est lu par quelqu'un qui ne connaît pas Python. Mais c'est quand même plutôt cool. –