视频教程下载链接:​​http://pan.baidu.com/s/1qY0diQ4​​​ 配套教程下载:​​​http://pan.baidu.com/s/1qYdI6q4​​ 这节课,我们来讲解如何在列表中获取最常出现的元素,假如现在有这样一个字符串:

text = "虚幻帐号 是 科学上网 好帮手 轻松访问 Google YouTube Twitter Facebook" \

"等一系列屏蔽网站 基于比 VPN 更加方便稳定高速的shadow socks"\"不需各种切换 从不掉线 智能分流 电脑 手机iPad都能用哦 "\"我们所经营的 虚幻帐号 已经稳定运行2年多了 这是一个极端保护隐私的私密项目"\"我们针对服务器做了隐私保护 服务器实现完全删除 不留下任何使用记录 "\"拥有美国 香港 日本 新加坡的IP "\"速度非常快 因为我们做了领先的连接速度优化 使用了有专利保护的加速算法 "\"智能代理 同时保证国内和国外的网站稳定访问 "\"24小时在线联系我 有任何问题都可及时找到我"\

现在,我想要获得这个字符串中最常出现的字符,如何实现呢?这里我们需要借助collection模块中引入Counter类,如果你深入研究Counter类你会发现它很有用处。

from collections import Counter

那么现在,我们有一个很长且很大的字符串,但是Counter类它只处理列表,所以首先我们需要把字符串转换为列表,这很简单,我们调用字符串的split函数,然后,把值返回给变量words,我们把这个words列表打印出来看看:

words = text.split()
print(words)

运行: 图 6‑11 打印出来字符串拆分后的结果。 那么如何获得列表中最常见的字符串呢?首先我们可以创建一个Counter对象;

counter = Counter(words)

假如现在我要获得最常出现的3个元素,只需要调用Counter的most_common函数,然后打印出来看最终的结果:

top_three = counter.most_common(3)
print(top_three)

  图 6‑12 你看,它返回了一个元组的列表,这里不仅将最常用的元素找到,而且,还把它们出现的次数打印出来! 其实,Counter类还很多用处,大家可以按住Ctrl键来查看Counter类的源码,深入研究它的功能。 更多精彩内容尽在视频中!