碎碎念

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

382ed87c34fcd0675c60da8b6d20e2cf.png

关于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)

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐