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

来源:互联网 发布:九阴绝学金身升级数据 编辑:程序博客网 时间:2024/06/09 04:44

其实我昨天刚开始学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

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

觉得还行就点个赞吧(觉得不行也点个赞吧

阅读全文
4 0
原创粉丝点击