Tengo una lista de palabras en un diccionario con el valor = la repetición de la palabra clave, pero solo quiero una lista de palabras distintas, así que quería contar la cantidad de palabras clave. ¿Hay alguna forma de contar la cantidad de palabras clave o hay otra forma en que debería buscar palabras distintas?
234
len(yourdict.keys())
ylen(yourdict)
son O (1). Este último es un poco más rápido. Ver mis pruebas a continuación.len(yourdict.values())
El número de palabras distintas (es decir, el recuento de entradas en el diccionario) se puede encontrar utilizando la
len()
función.Para obtener todas las palabras distintas (es decir, las claves), utilice el
.keys()
métodofuente
Llamar
len()
directamente a su diccionario funciona, y es más rápido que construir un iterador,d.keys()
y recurrirlen()
a él, pero la velocidad de ambos será insignificante en comparación con cualquier otra cosa que esté haciendo su programa.fuente
Si la pregunta es sobre contar el número de palabras clave, entonces recomendaría algo como
en la función principal tiene algo que recorre los datos y pasa los valores a la función de contracurrencias
El código sale
fuente
countoccurrences()
, en cambio, debería ser asícount_occurrences()
. También, si importacollections.Counter
, hay una mejor manera mucho hacerlo:from collections import Counter; store = Counter(); for data in list: store[list] += 1
.Se realizaron algunas modificaciones en la respuesta publicada UnderWaterKremlin para que sea una prueba de python3. Un sorprendente resultado a continuación como respuesta.
Especificaciones del sistema:
Resultado:
1) = 37.0100378
2) = 37.002148899999995
Entonces parece que
len(d.keys())
actualmente es más rápido que solo usarlolen()
.fuente