Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des
éléments, à partir de deux listes (clefs et valeurs).
J'utilise :
elemid.update( zip( tclefs, tvaleurs))
Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer
le traitement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
Méta-MCI (MVP) a écrit :
Bonjour !
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des éléments, à partir de deux listes (clefs et valeurs). J'utilise : elemid.update( zip( tclefs, tvaleurs)) Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
Méta-MCI (MVP) a écrit :
Bonjour !
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des
éléments, à partir de deux listes (clefs et valeurs).
J'utilise :
elemid.update( zip( tclefs, tvaleurs))
Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer
le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des éléments, à partir de deux listes (clefs et valeurs). J'utilise : elemid.update( zip( tclefs, tvaleurs)) Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
Bruno Desthuilliers
Bruno Desthuilliers a écrit :
Méta-MCI (MVP) a écrit :
Bonjour !
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des éléments, à partir de deux listes (clefs et valeurs). J'utilise : elemid.update( zip( tclefs, tvaleurs)) Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
s/définir/déterminer/, of course
Bruno Desthuilliers a écrit :
Méta-MCI (MVP) a écrit :
Bonjour !
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des
éléments, à partir de deux listes (clefs et valeurs).
J'utilise :
elemid.update( zip( tclefs, tvaleurs))
Seulement, cette méthode est lente. Auriez-vous une idée, pour
accélérer le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
Soit un dictionnaire, déjà existant, dans lequel on veut ajouter des éléments, à partir de deux listes (clefs et valeurs). J'utilise : elemid.update( zip( tclefs, tvaleurs)) Seulement, cette méthode est lente. Auriez-vous une idée, pour accélérer le traitement ?
Oui: commencer par définir ce qui est lent: l'update, ou le zip.
s/définir/déterminer/, of course
Michel Claveau - NoSpam SVP ; merci
Bonjour !
En me forçant à chercher, tu m'as permis de trouver une explication, à défaut d'une solution. C'est un problème de transtypage. En fait, une des deux listes est, à l'origine, une collection d'objets Javascript. Python transtype cela en une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 % du temps.
Je vais donc chercher dans la direction du transtypage.
Merci pour l'aiguillon, et @+ -- Michel Claveau
PS : les temps que je trouve "longs", c'est 0,7 s pour 1000 éléments.
Bonjour !
En me forçant à chercher, tu m'as permis de trouver une explication, à
défaut d'une solution.
C'est un problème de transtypage. En fait, une des deux listes est, à
l'origine, une collection d'objets Javascript. Python transtype cela en
une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 %
du temps.
Je vais donc chercher dans la direction du transtypage.
Merci pour l'aiguillon, et @+
--
Michel Claveau
PS : les temps que je trouve "longs", c'est 0,7 s pour 1000 éléments.
En me forçant à chercher, tu m'as permis de trouver une explication, à défaut d'une solution. C'est un problème de transtypage. En fait, une des deux listes est, à l'origine, une collection d'objets Javascript. Python transtype cela en une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 % du temps.
Je vais donc chercher dans la direction du transtypage.
Merci pour l'aiguillon, et @+ -- Michel Claveau
PS : les temps que je trouve "longs", c'est 0,7 s pour 1000 éléments.
Christophe
Michel Claveau - NoSpam SVP ; merci a écrit :
Bonjour !
En me forçant à chercher, tu m'as permis de trouver une explication, à défaut d'une solution. C'est un problème de transtypage. En fait, une des deux listes est, à l'origine, une collection d'objets Javascript. Python transtype cela en une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 % du temps.
Je vais donc chercher dans la direction du transtypage.
En utilisant itertools.izip à la place de zip peut-être ? Je ne vois rien d'autre à faire ici.
Michel Claveau - NoSpam SVP ; merci a écrit :
Bonjour !
En me forçant à chercher, tu m'as permis de trouver une explication, à
défaut d'une solution.
C'est un problème de transtypage. En fait, une des deux listes est, à
l'origine, une collection d'objets Javascript. Python transtype cela en
une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 %
du temps.
Je vais donc chercher dans la direction du transtypage.
En utilisant itertools.izip à la place de zip peut-être ? Je ne vois
rien d'autre à faire ici.
En me forçant à chercher, tu m'as permis de trouver une explication, à défaut d'une solution. C'est un problème de transtypage. En fait, une des deux listes est, à l'origine, une collection d'objets Javascript. Python transtype cela en une liste, pour les besoins du ZIP. Et ce transtypage prend environ 80 % du temps.
Je vais donc chercher dans la direction du transtypage.
En utilisant itertools.izip à la place de zip peut-être ? Je ne vois rien d'autre à faire ici.
Méta-MCI \(MVP\)
Salut !
J'ai essayé izip. Mais, la conversion de la collection d'objets en un itérable prend le même temps. J'ai essayé aussi les listes en intention, un FOR, etc. sans de meilleurs résultats.
D'après ce que j'ai compris (déduit), tout adressage d'un élément de la collection est traduit en un call de quelque chose. Si je ne trouve pas une méthode intégrée et rapide, je modifierai l'architecture de gestion de ce truc, pour utiliser une évaluation paresseuse (lazy). Ainsi, les temps ne seront consommés qu'au besoin.
@+
MCI
Salut !
J'ai essayé izip. Mais, la conversion de la collection d'objets en un
itérable prend le même temps.
J'ai essayé aussi les listes en intention, un FOR, etc. sans de
meilleurs résultats.
D'après ce que j'ai compris (déduit), tout adressage d'un élément de la
collection est traduit en un call de quelque chose.
Si je ne trouve pas une méthode intégrée et rapide, je modifierai
l'architecture de gestion de ce truc, pour utiliser une évaluation
paresseuse (lazy). Ainsi, les temps ne seront consommés qu'au besoin.
J'ai essayé izip. Mais, la conversion de la collection d'objets en un itérable prend le même temps. J'ai essayé aussi les listes en intention, un FOR, etc. sans de meilleurs résultats.
D'après ce que j'ai compris (déduit), tout adressage d'un élément de la collection est traduit en un call de quelque chose. Si je ne trouve pas une méthode intégrée et rapide, je modifierai l'architecture de gestion de ce truc, pour utiliser une évaluation paresseuse (lazy). Ainsi, les temps ne seront consommés qu'au besoin.