[英]How to get 50 most common words in lyrics songs (Python)
我是 python 的新手,我正在嘗試返回歌曲歌詞中最多的 50 個常用詞,但我有一個問題,我真的不明白為什么會發生這種情況。
代碼中的名稱“lyrics”是來自文本文件的歌詞字符串。 循環的每次迭代都是不同的歌詞字符串,我需要將它們包含在歌曲中出現的單詞總數中。
如果有人知道問題出在哪里並且可以提供幫助,那就太好了。
我的 output 不帶字是字符:“[('', 46), ('o', 24), ('e', 23), ('n', 15), ('t', 15) , ('h', 12), ('a', 12), ('w', 8), ('r', 8), ('s', 8), ('\n', 7), ('f', 7), ('d', 6), ('u', 5), ('y', 5), ('m', 5), ('I', 4)... " 我需要得到類似: ("the", 555), ("you", 365)... 不包括空格和 \n
count = {}
for songs in the_dict.values():
songs = songs[0]
for lyrics in songs.values():
lyrics = lyrics[2]
count = Counter(lyrics)
return count.most_common(50)
在計算之前調用lyrics
的split()
方法:
split_lyrics = lyrics[2].split()
count = Counter(split_lyrics)
見https://www.geeksforgeeks.org/find-k-frequent-words-data-set-python/
您應該在每個空格和換行符處拆分歌詞,以便獲得一個單詞數組(而不是像現在那樣立即解析字符串)。
所以你應該使用
lyrics = lyrics[2].split()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.