第三篇 python运用字典统计字符串中字母出现的次数

碎碎念

这个内容还是我日常互相种草的好友提供的素材,很基础也很实用,稍微进阶一些就可以用来统计文章中的单词出现的频率了。她在网上找的代码用了库,通过python中的字典可以很简洁的完成。(下图是她在网上找的)

关于python中的字典

我们可以把字典理解为一种容器,我们可以往里面装任意类型的对象,字典的每个键值 key:value 对用“冒号 :” 分割,每个键值对之间用“逗号 ,” 分割,整个字典包括在花括号 {} 中 ,表示如下: d = {key1 : value1, key2 : value2 } 1.创建字典

dict1 = {
          
   key1:value1 , key2:value2 , key3:value3}

2.修改字典 字典中如果同一个键被赋值两次,后一个值会被记住,也就实现了字典的修改,如下:

dict1 = {
          
   key1:value1 , key2:value2 , key3:value3}
dict1[key3]=2
print (dict1)

输出结果: {key1: value1, key2: value2, key3: 2}

当然,我们还可以删除字典中的元素和字典:

del dict[key1] # 删除键 key1
dict.clear() # 清空字典,但字典还在
del dict # 删除字典,整个字典都没有了

实现代码

第一个代码用到了循环,把这个里面的key用x表示,查看key是否在字典中,在的话对应的变量加一,不再的话就新增加一个key并使其的值为一。

str1 = Danphnis love Alice#给出字符串
d = {
          
   } #给出字典
for x in str1:
    if x in d:
       d[x]=d[x]+1
    else:
       d[x]=1
print (d)
{D: 1, a: 1, n: 2, p: 1, h: 1, i: 2, s: 1,  : 2, l: 2, o: 1, v: 1, e: 2, A: 1, c: 1}

下面po一个更为简短的代码,使用到了numpy库中的unique函数。但是这个代码是每一个字符都要循环一遍,如果字符串中内容过多的话就不是很适合了。

import numpy as np
str1 = Danphnis love Alice
dic = {
          
   k:str.count(k) for k in np.unique(list(str1))}
print (dic)
经验分享 程序员 微信小程序 职场和发展