8
votes

Obtenez le nombre d'occurrences de chaque personnage

Compte tenu de la chaîne: xxx

Comment puis-je obtenir le nombre d'occurrences de chaque caractère?


3 commentaires

Solution compacte tendent à produire un code plus concis


Le code concis est bon, mais la clarté est plus importante, IMHO.


Cela a un tas d'autres façons, defaultDict est une bonne façon de le faire sans compteur (2,5+) Stackoverflow.com/Questtions/991350/...


7 Réponses :


18
votes

in 2.7 et 3.1 Il y a un outil appelé compteur: xxx

docs . Comme indiqué dans les commentaires, il n'est pas compatible avec 2,6 ou moins, mais c'est Backportré . < / p>


1 commentaires

Jakob, si vous voulez une ligne: importer des collections; Collections.counter ("DQDWQFWQFGGQWQ") Ta-Dah. :)



0
votes

Pour chaque lettre compter la différence entre la chaîne avec cette lettre et sans elle, de cette façon, vous pouvez obtenir le nombre de searys xxx


2 commentaires

Hé, personne ne parle d'efficacité, seulement de la taille :)


a.count (lettre) est plus clair que len (a) -len (A.RePlace (lettre, '')) si vous voulez de cette façon que vous pouvez Obtenez le nombre de seventions



16
votes

Pas très efficace, mais c'est une ligne ...

In [24]: a='dqdwqfwqfggqwq'

In [25]: dict((letter,a.count(letter)) for letter in set(a))
Out[25]: {'d': 2, 'f': 2, 'g': 2, 'q': 5, 'w': 3}


3 commentaires

C'est O (n * sigma) où Sigma est un nombre de lettres uniques; belle amélioration


Code Golf: Count = Lambda S: dict ((c, S.Count (c)) pour C en jeu (s))


Meilleur code Golf: Count = Lambda x: {T: x.count (t) pour t in x}



0
votes
lettercounts = {}
for letter in a:
    lettercounts[letter] = lettercounts.get(letter,0)+1

0 commentaires

-1
votes

Un code ligne pour trouver une occurrence de chaque caractère de la chaîne.

pour i in set (a): Imprimer ('% S Compte est% d'% (I, A.Count (I)))


0 commentaires

2
votes

Vous pouvez le faire: xxx

sortie {'d': 2, 'f': 2, 'g': 2, 'Q': 5, 'w ': 3}

Cette méthode est efficace et est testée pour Python3.


0 commentaires

0
votes

Code Python Pour vérifier les occurrences de chaque caractère de la chaîne: xxx

Veuillez essayer ce code si un problème ou des améliorations s'il vous plaît commentaires.


0 commentaires