-2
votes

Comment compter combien de fois un mot apparaît dans une liste dans Python

J'ai la liste suivante dans Python

texts = [
    ["great", "even", "for", "the", "non", "runner", "this", "sound",
     "track", "was", "brilliant"],
    ["cannot", "recommend", "as", "a", "former", "comrade", "i", "did",
     "not", "want", "to", "have", "to", "do", "this"]
]


2 commentaires

Nous ne savons pas comment faire le problème de votre base de code existant sans voir votre code d'origine. Veuillez poster votre MCVE et expliquer pleinement ce qui doit être modifié. Expliquez le problème et quelle sortie doit être produite pour cette entrée.


Réponse est dans le duplicata.


4 Réponses :


0
votes

Vous pouvez utiliser compteur pour cela.

texts = [
    ["great", "even", "for", "the", "non", "runner", "this", "sound",
      "track", "was", "brilliant"],
    ["cannot", "recommend", "as", "a", "former", "comrade", "i", "did",
      "not", "want", "to", "have", "to", "do", "this"]
]

for text in texts:
    cnt = Counter()
    for word in text:
        cnt[word] += 1
    print(cnt)


1 commentaires

Notez que textes est une liste imbriquée.



1
votes

première chose à noter est probablement que textes code> est une liste imbriquée, qui est également la raison pour laquelle vous obtenez 2 code> pour len (textes) code> car Textes Code> contient 2 sublistes.

Si vous souhaitez itérer sur les mots individuels, vous devez itérer sur les sublistes, puis sur les mots à l'intérieur des sublistes. Heureusement, la liste des compréhensions de la liste de Python peut être imbriquée: p> xxx pré>

comme pour le comptage: la bibliothèque standard a une classe de dictionnaire pour exactement ce but: Collections.Counter : P>

word_counts = collections.Counter(word for words in texts for word in words)


0 commentaires

0
votes

Un doublure:

from collections import Counter
from itertools import chain

texts = [["a", "b"], ["a", "c"]]

words_count = Counter(chain(*texts))
print(words_count)

>> Counter({'a': 2, 'b': 1, 'c': 1})


0 commentaires

-1
votes

Vous pouvez compter les mots avec compteur : xxx

Source: Comment compter les valeurs uniques à l'intérieur d'une liste


0 commentaires