您的位置:首页 > 编程语言 > Python开发

超初级的用Python收集杂乱字符串中的特定字符,统计出每个特定字符的出现次数并取出最小值

2017-12-06 21:17 656 查看
其实我昨天刚开始学python,然后今天就被刚学没几天的朋友问了一个问题,这是他在看一套教程时碰到的练习



嗯,就是这个

我开始不知道怎么取字典里最大或者最小值,然后查了一下资料 (文末会贴出链接)

写了这个东西(我感觉有点复杂了=-= 求不要说我误人子弟…毕竟我昨天才刚开始学…)

#python3
#随意输入的字符串
s2 = 'qwiasifknabbvaucxzxcnzdhgeithdhgueaar'
#我们创建一个字典,用来收集friend里每一个字符在s2中出现的次数
sta = {}
#用列表来表示friend,方便接下来的字典操作
w = ['f','r','i','e','n','d']
#定义一个变量,收集存在于S2中的friend字符,并使其按单词顺序连接
a = s2[s2.find('f')] + s2[s2.find('r')] + s2[s2.find('i')] + s2[s2.find('e')] + s2[s2.find('n')] + s2[s2.find('d')]
#如果a收集到了“friend”
if a == 'friend':
#输出a(friend)
print(a)
#用一个变量i遍历s2中的每个字符
for i in s2:
#如果存在于s2中的字符i也存在于w中
if i in w:
#如果既存在于s2也存在于w中的字符i存在于sta中
if i in sta:
#sta中对应i的key的values加1
sta[i] = sta[i] + 1
#如果既存在于s2也存在于w中的字符i不在sta中
else:
#在sta中添加一个字符i,并将values定义为1
sta[i] = 1
#输出我们操作后的字典
print(sta)
#输出字典中的最小值(用min()函数结合zip()函数来判断最小值)
print("最多可以拼写出%d个friend"%min(zip(sta.values())))
###############################
#还有这些写法
#print(min(zip(sta.values(),sta.keys())))
#print(min(sta,key = sta.get))
#min(sta.items(), key=lambda x: x[1])
#print(min(sta, key=lambda x: sta[x]))
###############################
#如果a没有收集齐“friend”
else:
#输出 no find
print("no find")


输出结果:



这里用min()函数结合zip()函数的方法的资料链接:

http://www.bubuko.com/infodetail-1987895.html

这里是朋友看的教程的链接:

http://study.163.com/course/courseMain.htm?courseId=302001

我看的不是这个,就不发了

觉得还行就点个赞吧(觉得不行也点个赞吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 初级