2
respostas

[Sugestão] Counter

Importante.

Em

from collections import Counter

dict_palavras=Counter(palavras)

o type(dict_palavras) será do tipo Couter

para usar as ferramentas do dicionário é necessário converter.

dict_palavras = dict(dict_palavras)

assim o type(dict_palavras) será do tipo dict

2 respostas

Olá Edgar, tudo certo?

Obrigado pela sugestão! Com a correção que você mencionou, o código funcionará conforme o esperado. Agradeço pela ajuda! Isso mostra o seu comprometimento.

Caso durante os seus estudos você tenha dúvidas ou problemas, você pode recorrer ao fórum! Contamos com uma grande comunidade que pode lhe ajudar.

Abraços e bons estudos!

Olá Edgar, tudo bem? Espero que sim!

Você está correto! Mas com uma pequena correção. Vamos analisar passo a passo:

  1. O primeiro trecho de código utiliza from collections import Counter para importar a classe Counter da biblioteca collections.

  2. Em seguida, ele cria um objeto chamado dict_palavras, que é uma instância da classe Counter, inicializado com a variável palavras.

  3. Após a execução do código acima, o tipo de dict_palavras será Counter, já que é uma instância dessa classe.

Aqui é onde está a correção necessária:

  • Se você deseja usar as ferramentas específicas de dicionário em dict_palavras, é necessário convertê-lo para um dicionário comum (dict). Isso porque, apesar de Counter compartilhar algumas funcionalidades com dicionários, ele não é uma subclasse de dicionário. Para realizar a conversão, você pode usar a função dict(), como mostrado no código abaixo:
dict_palavras = dict(dict_palavras)
  1. Após a conversão, o tipo de dict_palavras será de fato dict, pois agora ele se tornou um dicionário.

Portanto, a sua conclusão está correta: para utilizar as ferramentas específicas de dicionário, você precisa converter o objeto Counter em um dicionário comum utilizando dict().

Caso tenha dúvidas, fico à disposição!

Espero ter ajudado.

Abraços e bons estudos.