Merci pour tous les Thomas , Alioune Dia et autres
-----Message d'origine----- De : Thomas AYIH-AKAKPO [mailto:[email protected]] Envoyé : lundi 17 octobre 2011 11:01 À : [email protected] Objet : Re: [DakarLUG] Help liste en python Le 17/10/2011 13:13, Mor Talla Gueye a écrit : > Je voudrais conserver uniquement les mots similaires(et qui sont successifs au moins nombre doccurrence>=2) > > > Je voudrais un code en python qui me permet de faire ceci : > > Jai une liste comme suit > > liste=['ddddd','ggggg','kkkkk','kkkkk','llll','llll','llll','hhh','mmm','mmm ','mmm'] > > et je voudrais avoir une autre liste comme suit : > > autreliste==['kkkkk','kkkkk','llll','llll','llll','mmm','mmm','mmm'] a partir de liste > > 'lut Tiens ça me fait vaguement penser à la discussion qu'il y avait concernant le word-counting :) Perso, j'utiliserais le module itertools et sa méthode groupby (http://docs.python.org/library/itertools.html#itertools.groupby) Avec itertools.groupby tu as un "iterable" pour chaque objet "identique" liste = ['ddddd','ggggg','kkkkk','kkkkk','llll','llll','llll','hhh','mmm','mmm','mmm '] tmp = [list(g) for k, g in itertools.groupby(liste)] Là tu as les objets groupés, et tu veux juste récupérer ceux qui ont une occurence >=2 donc bar = [i for i in tmp if len(i)>1] et puis tu merge pour avoir le tout en une seule liste: foo=[] for i in bar: for j in i: foo.append(j) -- Thomas, qui pense sérieusement à ne plus utiliser foo/bar -- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org -- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
