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 d’occurrence>=2)
Je voudrais un code en python qui me permet de faire ceci :
J’ai 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