coul={} for i in pref: for c in pref[i]: coul.setdefault(c,[]) coul[c].append(i)
-- @-salutations
Michel Claveau
funtix
Chapeau pour ta réactivité et pour la solution qui tient en tres peu de ligne.
Et dire que j'etais parti pour faire une usine a gaz. Je pense qu'en reflechissant à l'algo a implementer j'aurais du simplifier à l'extreme et prendre le probleme tel que je l'ai presenté dans ce thread. En tout cas c'est bien, je connaissais pas la fonction zip et setdefault.
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Merci beaucoup je vais de suite l'adapter a mon besoin.
coul={} for i,j in zip(pref,pref.values()): for c in j: coul.setdefault(c,[]) coul[c].append(i)
print '-'*55 print coul print '-'*55 for i in coul: print i,coul[i] print '-'*55
Chapeau pour ta réactivité et pour la solution qui tient en tres peu de
ligne.
Et dire que j'etais parti pour faire une usine a gaz.
Je pense qu'en reflechissant à l'algo a implementer j'aurais du
simplifier à l'extreme et prendre le probleme tel que je l'ai presenté
dans ce thread.
En tout cas c'est bien, je connaissais pas la fonction zip et setdefault.
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference
personnelle ou plus perf?
Merci beaucoup je vais de suite l'adapter a mon besoin.
Chapeau pour ta réactivité et pour la solution qui tient en tres peu de ligne.
Et dire que j'etais parti pour faire une usine a gaz. Je pense qu'en reflechissant à l'algo a implementer j'aurais du simplifier à l'extreme et prendre le probleme tel que je l'ai presenté dans ce thread. En tout cas c'est bien, je connaissais pas la fonction zip et setdefault.
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Merci beaucoup je vais de suite l'adapter a mon besoin.
coul={} for i,j in zip(pref,pref.values()): for c in j: coul.setdefault(c,[]) coul[c].append(i)
print '-'*55 print coul print '-'*55 for i in coul: print i,coul[i] print '-'*55
Méta-MCI
Bonsoir !
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu... A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement tantôt.
Bonne nuit.
MCI
Bonsoir !
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference
personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu...
A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en
intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté
un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement
tantôt.
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu... A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement tantôt.
-- bruno desthuilliers python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for p in ''.split('@')])"
funtix
je sais que les listes en intention sont plus rapides, mais j'ai un peu de mal avec ca...
Méta-MCI wrote:
Bonsoir !
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu... A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement tantôt.
Bonne nuit.
MCI
je sais que les listes en intention sont plus rapides, mais j'ai un peu
de mal avec ca...
Méta-MCI wrote:
Bonsoir !
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference
personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu...
A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en
intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté
un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement
tantôt.
je sais que les listes en intention sont plus rapides, mais j'ai un peu de mal avec ca...
Méta-MCI wrote:
Bonsoir !
Au fait pourquoi utiliser zip plus que pref.iteritems() ? preference personnelle ou plus perf?
Plutôt par paresse : c'est le premier truc qui m'est venu... A noter : dans la deuxième version, je ne l'utilise plus.
Pour les perfs, je chercherais plutôt à tester du côté des listes en intention ; ça va souvent assez vite.
Pour la réactivité, c'est dû au hasard : je passais par là. Tu aurais posté un peu plus tard, j'aurais 2 jours à répondre, car je pars en déplacement tantôt.
coul = lambda c : [p for p in pref if c in pref[p]]
faut-il vraiment un dictionnaire ? avec une fonction comme ça, il n'y a pas besoin de propager les éventuelles mises-à-jour.
coul={} for i in pref: for c in pref[i]: coul.setdefault(c,[]) coul[c].append(i)
funtix
C'est vrai que c'est une possibilité. Mais c'est pas adapté dans mon cas ou j'ai un dico avec pas loin de 100 clés et une 20aine de valeur associée à chaque clé.
Coté liste en intention, vous avez des propositions?
Ca m'interesse meme si j'ai pu faire ce que je voulais avec la premiere version d'algo de ce thread.
coul = lambda c : [p for p in pref if c in pref[p]]
faut-il vraiment un dictionnaire ? avec une fonction comme ça, il n'y a pas besoin de propager les éventuelles mises-à-jour.
coul={} for i in pref: for c in pref[i]: coul.setdefault(c,[]) coul[c].append(i)
C'est vrai que c'est une possibilité. Mais c'est pas adapté dans mon cas
ou j'ai un dico avec pas loin de 100 clés et une 20aine de valeur
associée à chaque clé.
Coté liste en intention, vous avez des propositions?
Ca m'interesse meme si j'ai pu faire ce que je voulais avec la premiere
version d'algo de ce thread.
C'est vrai que c'est une possibilité. Mais c'est pas adapté dans mon cas ou j'ai un dico avec pas loin de 100 clés et une 20aine de valeur associée à chaque clé.
Coté liste en intention, vous avez des propositions?
Ca m'interesse meme si j'ai pu faire ce que je voulais avec la premiere version d'algo de ce thread.