Python - Listen Sie die Häufigkeit von Wörtern in Zeichenfolgen auf
Bei einer gegebenen Liste von Wörtern wird die Häufigkeit der einzelnen Wörter in String zugeordnet.
Eingang : test_str = 'geeksforgeeks ist am besten für Geeks und am besten für CS', count_list = ['best', 'geeksforgeeks', 'computer']
Ausgabe : [2, 1, 0]
Erläuterung : best hat 2 Vorkommen, geeksforgeeks 1 und Computer ist nicht in Zeichenfolge vorhanden.Eingang : test_str = 'geeksforgeeks ist am besten für Geeks und am besten für CS', count_list = ['besser', 'gfg', 'computer']
Ausgabe : [0, 0, 0]
Erläuterung : In der Zeichenfolge ist kein Wort aus der Liste vorhanden.
Methode 1: Verwenden von defaultdict() + Schleife + Listenverständnis
In diesem Fall berechnen wir die Häufigkeit von Wörtern mit loop + defaultdict() und verwenden dann das Listenverständnis, um alle Zählungen zu erhalten, die der Liste der Wörter entsprechen.
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))
Die ursprüngliche Zeichenfolge lautet: geeksforgeeks ist am besten für Geeks und am besten für CS Die Häufigkeit der Listenwörter: [2, 1, 0, 0, 2, 1]
Methode 2: Verwenden von Counter() + Listenverständnis
In diesem Fall wird Counter() verwendet, um die Aufgabe der Frequenzberechnung auszuführen. Anschließend wird das Listenverständnis verwendet, um die Häufigkeit der Listenwörter zuzuweisen.
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))
Die ursprüngliche Zeichenfolge lautet: geeksforgeeks ist am besten für Geeks und am besten für CS Die Häufigkeit der Listenwörter: [2, 1, 0, 0, 2, 1]