python中,怎么做个字典,数句子中单词出现的次数?

发布网友 发布时间:2022-04-23 10:12

我来回答

2个回答

热心网友 时间:2022-04-07 08:54

text = raw_input("enter a sentence:")
words = text.split()
wordscount = [words.count(elem) for elem in words]
worddict={map(None,words,wordscount)}

要完成你的目标:
我要

计算每个词语出现的次数,
把词语出现的次数和词语列表组合成字典;

伪代码出来了,程序也就有了....

python有着强大的列表解析,内建模块使用C完成,他们很快,所以能够调用内建模块你就不要自己多事。
尽量按照伪代码去完成程序,除非必须细化,否则让python为你操作低层吧,他很聪明

第三句释义:
对于列表元素计数有很简单的list.count()方法。
这个语句就是利用了这个,statement for element in list fileter expression这是list的解析式。
通过这个你可以方便的将一个list解析为另一个。这一句就对list中所有的元素运用count()方法,并且建立新的list。
另外一个例子:a=[2,3,4,7,8]找到这个list中的偶数,并得到它们的平方列表
这样写:[elem*elem for elem in a if elem%2==0]

第四句释义:
list有个map方法,它可以提供list的映射。map(statement,list1,list2)就是将list1,list2按照statement规则映射。我的表达式是none所以得到的结果就是简单的[('this', 3), ('is', 4), ('a', 1)]这样的二元tuple列表。
dict函数则是针对上述list的。它能把上述list转化为字典。
这在你做数据处理时很有好处,你可以很轻松的建立一个hash表。

python的强大在于简明,遇到程序尝试着用最简单地方法去解决,你会很快喜欢上的。

以上^乐于与您交流

热心网友 时间:2022-04-07 10:12

words 已经得到了,用一个 word_dict 当作 map 统计频度就可以了:

text = raw_input("Enter a sentence:")
words = text.split()
word_dict = {}
for w in words:
    if w not in word_dict:
        word_dict[w] = 1
    else:
        word_dict[w] = word_dict[w] + 1
print word_dict

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com