Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环)

您所在的位置:网站首页 python怎么统计列表元素个数 Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环)

Python基础:用Python统计列表中每个单词出现的次数(split 的使用,for双重循环)

2023-10-27 06:09| 来源: 网络整理| 查看: 265

如何用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