继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python测试开发学习笔记

android也疯狂
关注TA
已关注
手记 279
粉丝 39
获赞 245

#练习题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)))

     `

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP