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'
  
print("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] 
  
print("The list words frequency : " + str(res))  
Ausgabe
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'
  
print("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] 
  
print("The list words frequency : " + str(res))  
Ausgabe
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]