Como dice el título, necesito escribir una función que clasifique una lista por frecuencia de letras. Normalmente proporcionaría mi código con lo que tengo hasta ahora, pero no tengo idea de dónde empezar. Estoy seguro de que es algo simple, pero no sé qué hacer. Los necesito ordenados en orden decreciente, cualquier ayuda es apreciada, gracias.Ordenar una lista por frecuencia de letra en python (orden decreciente)
5
A
Respuesta
9
en Python 2.7 o más alto se puede utilizar un contador: http://docs.python.org/dev/library/collections.html#collections.Counter
>>> mywords = ['red', 'blue', 'red', 'green', 'blue', 'blue']
>>> cnt = Counter(mywords)
>>> cnt
Counter({'blue': 3, 'red': 2, 'green': 1})
según Sorted Word frequency count using python
si necesita letras en vez de palabras se puede ir así:
>>> mywords = ['red', 'blue', 'red', 'green', 'blue', 'blue']
>>> myletters=list("".join(mywords))
>>> myletters
['r', 'e', 'd', 'b', 'l', 'u', 'e', 'r', 'e', 'd', 'g', 'r', 'e', 'e', 'n', 'b', 'l', 'u', 'e', 'b', 'l', 'u', 'e']
>>> Counter(myletters)
4
Para Python2.7 +, utilice un collections.Counter y su most_common método:
import collections
text='abccccabcbb'
count=collections.Counter(text)
print(count.most_common())
# [('c', 5), ('b', 4), ('a', 2)]
print(''.join(letter*freq for letter,freq in count.most_common()))
# cccccbbbbaa
Para Python2.6 o inferior, usted podrá utilizar el equivalente Counter recipe.
Cuestiones relacionadas
- 1. Lista de Python ordenar en orden descendente
- 2. ordenar una lista por orden alfabético
- 3. Ordenar la lista por orden de índices
- 4. Ordenar una cadena en Python orden lexicográfico
- 5. Ordenar una lista en orden ascendente por fecha desde sqlite
- 6. Ordenar una lista por otra
- 7. PHP ordenar por orden arbitrario
- 8. ordenar una lista de tuplas en Python
- 9. Python ¿cómo ordenar esta lista?
- 10. Cómo ordenar una lista por el campo
- 11. Django admin ordenar por orden
- 12. Python - ordenar una lista de listas anidadas
- 13. Python: cómo ordenar una lista de valores numéricos en orden ascendente
- 14. linq: ordenar por orden aleatorio
- 15. MySQL ordenar por alguna lista
- 16. Contando la frecuencia de cada letra en una cadena
- 17. En Perl, ¿cómo puedo ordenar por frecuencia de un valor?
- 18. Ordenar una lista de instancias de clase Python
- 19. Ordenar en una lista
- 20. cómo ordenar por longitud de cadena seguido de orden alfabético?
- 21. "Ordenar por desc" en orden inverso?
- 22. Python analog de la función natsort (ordenar una lista usando un algoritmo de "orden natural")
- 23. Recuento de ocurrencias en una lista de Python
- 24. Ordenar una lista heterogénea de objetos en Python
- 25. es una secuencia "no decreciente" "creciente"?
- 26. Ordenar una lista de tuplas por segundo artículo (valor entero)
- 27. mysql ordenar por una lista fija
- 28. Ordenar la lista de Python por la función
- 29. Orden SQL ¿Por lista de cadenas?
- 30. Ordenar una lista por atributos múltiples?
Una lista de qué? ¿Palabras? –