Je ne comprend pas la logique de l'ordre des éléments créés dans le
dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir
une liste séparée ? Y a-t'il une astuce ?
Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
Bonjour,
Tout nouveau en python (et donc avec une lecture toute fraîche du tutorial), il me semble que les dictionnaire ne sont pas ordonnés en séquence comme les listes. Je ne sais rien de la raison de l'ordre donné en ex., mais en tout cas on ne doit pas compter sur l'ordonnancement d'un dico. Je suppose que si on veut un couple ordonné de clé:valeur il faudrait utiliser une liste de duplets comme: ui=[['B1', 1], ['B2', 2], etc] ou combiner une liste de clés simples et un dico: ui_index=['B1', 'B2', ...] ui={'B1':1, 'B2':2, ...}
Bonne année! Marc
Le 27/12/2004 13:05, dans 41cffaae$0$11534$8fcfb975@news.wanadoo.fr,
« Michel Claveau - abstraction méta-galactique non triviale en fuite
perpétuelle. » <unseulmcmcmcmc@msupprimerlepoint.claveauPOINTcom> a écrit :
Je ne comprend pas la logique de l'ordre des éléments créés dans le
dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir
une liste séparée ? Y a-t'il une astuce ?
Bonjour,
Tout nouveau en python (et donc avec une lecture toute fraîche du tutorial),
il me semble que les dictionnaire ne sont pas ordonnés en séquence comme les
listes. Je ne sais rien de la raison de l'ordre donné en ex., mais en tout
cas on ne doit pas compter sur l'ordonnancement d'un dico.
Je suppose que si on veut un couple ordonné de clé:valeur il faudrait
utiliser une liste de duplets comme:
ui=[['B1', 1], ['B2', 2], etc]
ou combiner une liste de clés simples et un dico:
ui_index=['B1', 'B2', ...]
ui={'B1':1, 'B2':2, ...}
Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
Bonjour,
Tout nouveau en python (et donc avec une lecture toute fraîche du tutorial), il me semble que les dictionnaire ne sont pas ordonnés en séquence comme les listes. Je ne sais rien de la raison de l'ordre donné en ex., mais en tout cas on ne doit pas compter sur l'ordonnancement d'un dico. Je suppose que si on veut un couple ordonné de clé:valeur il faudrait utiliser une liste de duplets comme: ui=[['B1', 1], ['B2', 2], etc] ou combiner une liste de clés simples et un dico: ui_index=['B1', 'B2', ...] ui={'B1':1, 'B2':2, ...}
Bonne année! Marc
Yermat
Michel Claveau - abstraction méta-galactique non triviale en fuite
[...] Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire.
Normal, il y en a pas (enfin, si ce n'est l'implémentation...)
Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
Oui. Voir par exemple : http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
Ou encore cherche "python ordered dictionary" sous Google !
-- Yermat
Michel Claveau - abstraction méta-galactique non triviale en fuite
[...]
Je ne comprend pas la logique de l'ordre des éléments créés dans le
dictionnaire.
Normal, il y en a pas (enfin, si ce n'est l'implémentation...)
Si je veux conserver l'ordre de création, dois-je maintenir
une liste séparée ? Y a-t'il une astuce ?
Oui. Voir par exemple :
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
Ou encore cherche "python ordered dictionary" sous Google !
Michel Claveau - abstraction méta-galactique non triviale en fuite
[...] Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire.
Normal, il y en a pas (enfin, si ce n'est l'implémentation...)
Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
Oui. Voir par exemple : http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/107747
Ou encore cherche "python ordered dictionary" sous Google !
-- Yermat
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Aaaarrrgghh !
L'ordre de l'implémentation est bien fait (il n'y a qu'à voir les différences de performances, avec les listes, avec des (très) grands ensembles de données). Après quelques essais, il m'a bien semblé distinguer un arbre positionnel. Mais, bon, je suppose que, si l'ordre n'est pas communiqué, c'est qu'il est susceptible d'évoluer, dans le futur (ou selon les implémentations).
Evidemment, en faisant une classe (qui hérite de UserDict), qui associe une liste (des clefs) aux valeurs, on contourne le problème. Mais c'est un poil lourd.
Enfin, je suppose ne pas avoir le choix. Ceci dit, avec Python, ça doit pourvoir implémenter assez facilement.
Merci pour l'info. -- Michel Claveau
Aaaarrrgghh !
L'ordre de l'implémentation est bien fait (il n'y a qu'à voir les
différences de performances, avec les listes, avec des (très) grands
ensembles de données). Après quelques essais, il m'a bien semblé distinguer
un arbre positionnel.
Mais, bon, je suppose que, si l'ordre n'est pas communiqué, c'est qu'il est
susceptible d'évoluer, dans le futur (ou selon les implémentations).
Evidemment, en faisant une classe (qui hérite de UserDict), qui associe une
liste (des clefs) aux valeurs, on contourne le problème. Mais c'est un poil
lourd.
Enfin, je suppose ne pas avoir le choix. Ceci dit, avec Python, ça doit
pourvoir implémenter assez facilement.
L'ordre de l'implémentation est bien fait (il n'y a qu'à voir les différences de performances, avec les listes, avec des (très) grands ensembles de données). Après quelques essais, il m'a bien semblé distinguer un arbre positionnel. Mais, bon, je suppose que, si l'ordre n'est pas communiqué, c'est qu'il est susceptible d'évoluer, dans le futur (ou selon les implémentations).
Evidemment, en faisant une classe (qui hérite de UserDict), qui associe une liste (des clefs) aux valeurs, on contourne le problème. Mais c'est un poil lourd.
Enfin, je suppose ne pas avoir le choix. Ceci dit, avec Python, ça doit pourvoir implémenter assez facilement.
Merci pour l'info. -- Michel Claveau
Michel Claveau - abstraction méta-galactique non triviale en fuite perpétuelle.
Re
Bon, c'est fait, et ça fonctionne. Du coup, je vais ajouter quelques fonctions à la classe (ordre réciproque)
Bonne nuit -- Michel Claveau
Re
Bon, c'est fait, et ça fonctionne. Du coup, je vais ajouter quelques
fonctions à la classe (ordre réciproque)
Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
@+
C'est une table de hachage, il n'y a pas d'ordre precis avec ca, c'est normal.
Michel Claveau - abstraction méta-galactique non triviale en fuite
perpétuelle. wrote:
Je ne comprend pas la logique de l'ordre des éléments créés dans le
dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir
une liste séparée ? Y a-t'il une astuce ?
@+
C'est une table de hachage, il n'y a pas d'ordre precis avec ca, c'est
normal.
Je ne comprend pas la logique de l'ordre des éléments créés dans le dictionnaire. Si je veux conserver l'ordre de création, dois-je maintenir une liste séparée ? Y a-t'il une astuce ?
@+
C'est une table de hachage, il n'y a pas d'ordre precis avec ca, c'est normal.