在python语言中,字典和列表都是其中的数据类型,如果想要使用字典统计列表中元素出现次数,该如何实现?
站在用户的角度思考问题,与客户深入沟通,找到台山网站设计与台山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、域名注册、网站空间、企业邮箱。业务覆盖台山地区。
1/6
打开pycharm工具,新建python文件,打开文件并定义列表k,进行赋值
2/6
接着定义一个空字典j,作为装载列表中的元素和对应的次数
3/6
使用for...in语句遍历列表k,如果列表k中的元素出现一次,对应的次数加1,否则只展示一次
4/6
使用循环语句遍历字典j,并依次打印字典中的key和value
5/6
保存代码并运行python文件,查看控制台打印结果
6/6
再次修改列表中的元素,添加元素,然后再次运行查看打印结果
注意事项
注意python语言中的列表和字典的区别
注意如何使用字典实现查找列表元素出现的次数
1、get() 返回指定键的值,如果值不在字典中返回default值。
语法:dict.get(key,default=None)
参数:
key 字典中要查找的键。
default 如果指定键的值不存在时,返回该默认值值。
例:
dict={'Name':'alex','Age':21}
print("Name is:%s"% dict.get('Name')+"\n"+ "Age is:%d"% dict.get('Age'))
显示结果为:
Name is:alex
Age is:21
2、update() 将一个字典中的值更新到另一个字典中。
语法:dict.update(dict2)
参数:
dict2 添加到指定字典dict里的字典。
例:
dict={'Name':'alex','Age':21}
dict2={'Sex':'female'}
dict.update(dict2)
print("Value is %s" % dict)
显示结果为:
Value is {'Name': 'alex', 'Age': 21, 'Sex': 'female'}
这里用到了字典基本的建立,value调用,键值对增加,value修改,以及items()函数。
编程实现
流程:文件遍历-除去空白——判断字典中有无该字符——有则Value加1,无则新建为1——按Value排序并返回
具体实现代码如下:
#统计txt文件中的字符频率
def countwords(txt):
stat = {}#建立字典存储存储字符和对应频率
for line in txt:
line = line.strip()
if len(line) == 0:
continue
for i in range(len(line)):
#判断有无该字符的键
if(line[i] in stat):
stat[line[i]]+=1
else:
stat[line[i]]=1
result=sorted(stat.items(),key = lambda x:x[1],reverse = True)#按value大小排序
return result
xyj = open('xyj.txt' ,'r',encoding = 'utf-8')#读文件
r=countwords(xyj)#调用函数
xyj.close