为了账号安全,请及时绑定邮箱和手机立即绑定

python测试开发学习笔记

标签:
Python

#练习题1:请大家找出s="aabbccddxxxxffff"中,字母出现次数最多的字母

算法1:

# 遍历所有的字符,把每一个字符出现的次数,

# 用count函数做一个统计,声明一个存储最大值的字典对象,

# 遍历的时候动态判断当前字符出现的字符数字是否比字典中的最大值更大

# 如果等于则也存进去

# 如果小于则忽略,如果大于则把字典中的内容清空掉,

# 把当前的字母作为key,次数作为value存进去

    `

      s = "xssdddeeeeeeeffff"

max_times = 0

result = {}

for i in s:

    if s.count(i) > max_times:

        result.clear()

        result[i] = s.count(i)

        max_times = s.count(i)

    elif s.count(i) == max_times:

        result[i] = s.count(i)

print result


    `


    # 算法2:

# 使用map和len和max函数

# 找到最大的字母出现次数

# 然后遍历字符串判断哪些字母的出现次数等于最大的字母出现次数

# 然后依次保存起来。

    `

     s = "aabbbcccddffffffff"

times = map(lambda x: s.count(x), s)

print times

max_time = max(times)

print max_time

result = filter(lambda x: s.count(x) == max_time, s)

print list(set(result))

    `


    #算法3:

# 遍历每一个字母算出出现的次数,存到一个字典里

# 然后找到最大的字典存储的value

# 遍历这个字典,哪些key存储的值等于最大的value,那么这些值就是结果


    `

    s = "xssdddeeeeeeeffff"

result = {}

for i in s:

    letter_count = s.count(i)

    result[i] = letter_count


max_times = max(result.values())

print max_times

for k in result.keys():

    if result[k] == max_times:

        print k

    `

     #一行代码解决的问题

     `

         print list(set(filter(lambda x:s.count(x)==max(map(lambda x:s.count(x),s)),s)))

     `

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消