Eu tenho uma lista de palavras em um dicionário com o valor = a repetição da palavra-chave, mas eu só quero uma lista de palavras distintas, então eu queria contar o número de palavras-chave. Existe uma maneira de contar o número de palavras-chave ou existe outra maneira de procurar palavras distintas?
234
len(yourdict.keys())
elen(yourdict)
são O (1). O último é um pouco mais rápido. Veja meus testes abaixo.len(yourdict.values())
O número de palavras distintas (ou seja, contagem de entradas no dicionário) pode ser encontrado usando a
len()
funçãoPara obter todas as palavras distintas (ou seja, as teclas), use o
.keys()
métodofonte
A chamada
len()
direta no seu dicionário funciona e é mais rápida do que a criação de um iteradord.keys()
e a chamadalen()
, mas a velocidade de qualquer uma delas será insignificante em comparação com o que o seu programa estiver fazendo.fonte
Se a pergunta é sobre a contagem do número de palavras-chave, recomendamos algo como
na função principal tem algo que percorre os dados e passa os valores para a função countoccurrences
O código gera
fonte
countoccurrences()
deveria sercount_occurrences()
. Além disso, se você importarcollections.Counter
, há uma maneira muito melhor de fazê-lo:from collections import Counter; store = Counter(); for data in list: store[list] += 1
.Algumas modificações foram feitas na resposta postada UnderWaterKremlin para torná-lo à prova de python3. Um resultado surpreendente abaixo como resposta.
Especificações do sistema:
Resultado:
1) = 37.0100378
2) = 37.002148899999995
Parece que
len(d.keys())
atualmente é mais rápido do que apenas usarlen()
.fonte