Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环) |
您所在的位置:网站首页 › python怎么统计列表元素个数 › Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环) |
如何用Python统计含多个字符串的列表中每个单词出现的次数?
要从多个字符窜中统计次数的话,我们先来看一个简单的例子:
先从一个字符串中统计每个单词出现的次数。 如字符串: str=“You may be out of my sight, but never out of my mind.” 为了简化逻辑,我在这里将字符串做一些处理,如下: str=“You may be out of my sight but never out of my mind” (将所有的标点全都换成了空格,) 1.首先:在这里首先要向初学者介绍一个Python常用的一个方法:split() 语法: str.split(str="", num=string.count(str)). 参数: str -----分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。 num -----分割次数。默认为 -1, 即分隔所有。(次数不限) 返回值: 返回分割后的字符串列表。 注意:Python 的 split() 方法通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串 示例: str = "Whatever is worth doing is worth doing well" #这是一个字符串 print(str.split()) # 以空格为分隔符,分割所有 print(str.split(' ', 1 )) # 以空格为分隔符,分隔成两个(从第一个空格开始分割) print(str.split(' ', 2 )) # 以空格为分隔符,分隔成三个(从第一个空格开始分割) #......运行结果: [‘Whatever’, ‘is’, ‘worth’, ‘doing’, ‘is’, ‘worth’, ‘doing’, ‘well’] [‘Whatever’, ‘is worth doing is worth doing well’] [‘Whatever’, ‘is’, ‘worth doing is worth doing well’] #… 2.继续:现在,我们已经了解了关键的方法,现在我们会到最初的问题: 对于一个字符串统计每个单词出现的次数。 代码如下: List=["You may be out of my sight but never out of my mind."] #定义了只含一个字符串的列表 #根据情况判断,输出应为字典较为合适 dict={} #定义一个空的字典,在后面的运算中逐步添加数据 keys=List[0].split() #对列表中的字符串按空格分割 for key in keys: #遍历整个列表 if key in dict.keys(): #判断当前key是否已经存在 dict[key]=dict[key]+1 #在当前key的个数上加 1 else: dict[key]=1 #当前key第一次出现 print(dict)运行结果: {‘You’: 1, ‘may’: 1, ‘be’: 1, ‘out’: 2, ‘of’: 2, ‘my’: 2, ‘sight’: 1, ‘but’: 1, ‘never’: 1, ‘mind.’: 1} 3.最后:回到最原始的问题: 如何用Python统计含多个字符串的列表中每个单词出现的次数? 当列表中含有多个字符串时,我们就要用到 for 的双重循环来遍历整个列表,代码如下: List=["hello you","hello my friends","you are so beautiful","you are a beautiful girl","a good boy"] dict={} for list in List: keys=list.split(" ") for key in keys: if key in dict.keys(): dict[key]=dict[key]+1 else: dict[key]=1 print(dict)运行结果: {‘hello’: 2, ‘you’: 3, ‘my’: 1, ‘friends’: 1, ‘are’: 2, ‘so’: 1, ‘beautiful’: 2, ‘a’: 2, ‘girl’: 1, ‘good’: 1, ‘boy’: 1} |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |