Bonjour à tous,
Je dispose d'une liste contenant plusieurs chaînes de caractères :
Et j'aimerais obtenir, pour chaque chaîne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part test = ['aaa','aaabca','abcde','abbbbcccccc','aacceeedd','ababaea']
- la fréquence du caractère apparaissant le plus souvent
- le caractère en question
(donc par exemple (6, 'c') pour la quatrième chaîne ci-dessus).
Le code que j'ai actuellement me permet d'obtenir ce résultat pour une seule chaîne:
Ici cela fonctionne pour la première chaîne, puisque je l'ai précisé dans le 'print' final.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 test = ['aaa','aaabca','abcde','abbbbcccccc','aacceeedd','ababaea'] def frequence(test): dico = dict() for y in test: occurence = test.count(y) dico[y] = occurence return dico def Maxoccurrence(dico): maxi = max(dico.values()) return maxi, dico.keys()[dico.values().index(maxi)] print 'Occurrence :', Maxoccurrence(frequence(test[0]))
J'aimerais donc que cela fonctionne pour l'ensemble de la liste. J'ai pas mal bidouillé depuis hier et rien à faire, je ne m'en sors pas.
Pourriez-vous m'aider ?
Merci !
Partager