我是Python新手,试图理解对文档中唯一单词计数问题给出的答案here。答案是:print len(set(w.lower() for w in open('filename.dat').read().split()))Reads the entire file into memory, splits it into words using
whitespace, converts each word to lower case, creates a (unique) set
from the lowercase words, counts them and prints the output
为了理解这一点,我正在尝试一步一步地用Python实现它。我可以使用open和read导入文本平铺,使用split将其分割成单个单词,并使用lower使它们都小写。我也可以在列表中创建一组独特的单词。然而,我不知道如何做最后一部分-计数独特的单词数。
我想我可以通过遍历一组唯一单词中的项并在原来的小写列表中计算它们来完成,但是我发现set构造是不可索引的。
所以我想我试着用自然语言做一些事情,比如,对于集合中的所有项目,告诉我它们在小写列表中出现了多少次。但我不太明白如何做到这一点,我怀疑对Python的一些潜在误解正在阻碍我。编辑-
伙计们谢谢你们的回答。我刚刚意识到我没有正确地解释我自己——我不仅想找出唯一单词的总数(我知道这是集合的长度),而且想找出每个单词被使用的次数,例如,“the”被使用了14次,“was use 9 times”,“it”被使用了20次等等。为混乱道歉。