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"]
]
4 Réponses :
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)
Notez que textes code> est une liste imbriquée.
première chose à noter est probablement que 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> comme pour le comptage: la bibliothèque standard a une classe de dictionnaire pour exactement ce but: Collections.Counter : P> 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. word_counts = collections.Counter(word for words in texts for word in words)
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})
Vous pouvez compter les mots avec Source: Comment compter les valeurs uniques à l'intérieur d'une liste p> p> compteur code>:
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.