1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #!/usr/bin/python
# -*- coding: cp1252 -*-
dico={
"a":['nourriture','habits','voiture'],
"b":[0,1,2,3,4],
"c":['pour c'],
"d":['&','$', '#'],
}
#récupère toutes les listes possibles
listPossible = [[]]
for value in dico.values():
listPossible = [x+[y] for x in listPossible for y in value]
# Regardons à quoi ressemble listPossible.
print '-'*8 + ' listPossible '
for i in range(len(listPossible)):
print str(i) + ' : ' + str(listPossible[i])
# listPossible porte bien son nom :
# il propose toutes le combinaisons possibles
# de valeurs sans les clés.
#change toutes les listes en dictionnaire
keys = dico.keys()
listDico = [dict(zip(keys, liste)) for liste in listPossible]
# A quoi sert zip ?
print '-'*8 + ' zip(keys, liste)'
keys = ['a', 'c', 'b', 'd']
liste = ['nourriture', 'pour c', 0, '&']
print zip(keys, liste)
# A quoi sert dict(zip(keys, liste)) ?
print '-'*8 + ' dict(zip(keys, liste))'
print dict(zip(keys, liste))
# Pour finir qu'est-ce que ce [dict(zip(keys, liste)) for liste in listPossible] ?
print '-'*8 + ' List comprehension : [i**2 for i in [1,2,3,4,5]]'
print [i**2 for i in [1,2,3,4,5]]
print '-'*8 + ' listDico '
for i in range(len(listDico)):
print str(i) + ' : ' + str(listDico[i]) |
Partager