python如何统计字符串

'amazon.com ', 'aaa.com ', 'sssn.com ', 'azon.com ', 'aaa.com ', 'a.cn ',... 'cnn.com ', 'a.com ', 'ama.cg ', ...'amazon.com ', 'bb.com ', 'bb.com ', 'abon.com ', 'amb.com '...
我想先判断是不是amazon.com还是cnn.com。并且统计和打印之后的内容,重复的内容不要,例如:
amazon.com
aaa.com
sssn.com
azon.com
a.cn
....
cnn.com
1.a.com
2.ama.cg
....
amazon.com
1.bb.com
2.abon.com
....

判断特定词出现很容易,统计出现次数也很容易。但是处于多个特定词之后的每一个非特定词归哪个特定词?还有,后出现的关键词不需要作为先出现的关键词的子项吧?

我觉得用hash表比较方便表示。另外,关键词放到一个列表里。['cnn.com','amazon.com',...]
然后构建一个hash表Map 【键就是关键词,值是一个hash表,每项是 词:计数的形式 】
{ {'cnn.com': { 'a.com':1 },... },'amazon.com':{ 'bb.com':1,...},... }
这个表是处理过程中逐步建立起来的

然后每次遇到一次词X,比较是否在关键词列表中,如果是 并且hash表中没有,加到hash表中,Map[X]={},否则不添加;
如果不是关键词,那么在Map表中每个项记上一笔【当然,如果不在一个关键词的值hash表中噢,新增一项,否则增加计数】。
最后,遍历关键词hash表,并对值按照逆序输出。就是你要求的格式。追问

现在我只知道关键词是amazon.com还是cnn.com,然后amazon.com到cnn.com之间的词都属于amazon.com,cnn.com到下一个amazon.com之间的词属于cnn.com,能不能贴个程序,新手对python不是很理解...

追答

如果是关键词之间的都属于上一个关键词,那么使用一个表示状态的变量更好。

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网