python程序题7 统计字符出现次数 字典的应用

题目:随机生成由大小写字母和阿拉伯数字组成的长度为100的字符串,并统计其中各个字符出现的次数。

import string   #可以用dir(string)来查看string模块中所有可用的成员
import random

# 候选字符集,26个小写字母+26个大写字母+10个数字
x = string.ascii_letters + string.digits  #生成字符串x ,x='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
#可以用 print(string.ascii_letters)查看会有什么结果
# 生成包含100个随机字符的字符串 
z = ''.join((random.choice(x) for i in range(100)))   #生成器表达式,再利用join把这100个字符拼接到一起,前面的单引号中没内容表示用空串拼接
print(f'随机生成的字符串是:{z}')
d = dict() # {键:值,....}  #定义一个空字典,用键表示字符,用值表示出现次数

# 遍历字符串,统计频次
for ch in z:
    d[ch] = d.get(ch, 0) + 1  #字典中如果有ch,则次数加1 ;  如果没有ch,则添加一个键ch
    #字典的.get方法表示是dict.get(key,default)用于判断建是否存在,存在返回键对应的值,不存在返回指定的default值
    #此处用get查ch,若ch存在则返回ch对应的键值,然后将键值加1,;若吃不存在,则返回数值0,加1后变成1赋值给当前添加的键ch
# 查看统计结果,按字母顺序排序
for k, v in sorted(d.items()):   #items()方法将字典里对应的一对键和值以元组的形式(键, 值),存储为所生成序列里的单个元素
    print(k, ':', v)

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值