Python - lista de frequência de palavras em string
Dada uma lista de palavras, mapeie a frequência de cada uma para a ocorrência na string.
Entrada : test_str = 'geeksforgeeks é melhor para geeks e melhor para CS', count_list = ['best', 'geeksforgeeks', 'computer']
Saída : [2, 1, 0]
Explicação : best has 2 occ., Geeksforgeeks 1 e o computador não está presente na string.Entrada : test_str = 'geeksforgeeks é melhor para geeks e melhor para CS', count_list = ['melhor', 'gfg', 'computer']
Saída : [0, 0, 0]
Explicação : Nenhuma palavra da lista presente na string.
Método # 1: usando defaultdict() + loop + compreensão de lista
Nesse caso, calculamos a frequência das palavras usando loop + defaultdict() e, em seguida, usamos a compreensão de lista para obter todas as contagens correspondentes à lista de palavras.
from
collections
import
defaultdict
test_str
=
'geeksforgeeks is best for geeks and best for CS'
(
"The original string is : "
+
str
(test_str))
count_list
=
[
'best'
,
'geeksforgeeks'
,
'computer'
,
'better'
,
'for'
,
'and'
]
res
=
defaultdict(
int
)
for
sub
in
test_str.split():
res[sub]
+
=
1
res
=
[res[sub]
for
sub
in
count_list]
(
"The list words frequency : "
+
str
(res))
A string original é: geeksforgeeks é melhor para geeks e melhor para CS A frequência das palavras da lista: [2, 1, 0, 0, 2, 1]
Método 2: Usando Counter() + compreensão de lista
Neste, Counter() é usado para realizar tarefas de freqüência de computação, depois disso, a compreensão de lista é usada para atribuir freqüência para listar palavras.
from
collections
import
Counter
test_str
=
'geeksforgeeks is best for geeks and best for CS'
(
"The original string is : "
+
str
(test_str))
count_list
=
[
'best'
,
'geeksforgeeks'
,
'computer'
,
'better'
,
'for'
,
'and'
]
res
=
Counter(test_str.split())
res
=
[res[sub]
for
sub
in
count_list]
(
"The list words frequency : "
+
str
(res))
A string original é: geeksforgeeks é melhor para geeks e melhor para CS A frequência das palavras da lista: [2, 1, 0, 0, 2, 1]
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva