题目:
生成1000个随机字符串,然后统计每个字符的出现次数,注意get()方法的应用。
基本思路:在Python 标准库 string 中,ascii_letters 表示英文字母大小写,digits 表示 10个数字字符。
本题使用字典存储每个字符的出现次数, 其中键值表示字符, 对应的值表示出现的次数。在生成随机字符串时使用到了生成器表达式,“.join(…)”的作用是使用空字符串把参数中的字符串连接起来成为一个长字符串。最后使用for 循环遍历长字符串中的每个字符,把每一个字符的已出现次数加1,如果是第一次出现,就假设已经出现次数为 0.
代码:
import string
import random
x = string.ascii_letters + string.digits
z = ''.join(random.choice(x) for i in range(1000))
#choice()用于从多个元素中随机选择一个
d =dict()
for ch in z: #遍历字符串,统计频次
d[ch] = d.get(ch,0) + 1 #已出现次数加 1
for k,v in sorted(d.items()): #查看统计结果
print(k,':',v)
输出结果:
(输出结果部分省略,由于每一次z的值都是不同的因此每次的运行结果也是不同的)