zoukankan      html  css  js  c++  java
  • python自学笔记(九)python练习题

    1. 已知字符串 a = "aAsmr3idd4bgs7Dlsf9eAF",要求如下

      1.1 请将a字符串的大写改为小写,小写改为大写

         print a.swapcase()

      1.2 请将a字符串的数字取出,并输出成一个新的字符串

        print ''.join([s for s in a if s.isdigit()])-->3479

      1.3 请统计a字符串出现的每个字母的出现次数(忽略大小写,a与A是同一个字母),并输出成一个字典。 例 {'a':4,'b':2} 

        a = a.lower(a) #全部小写,upper() 全部大写

        print dict([(x,a.count(x)) for x in set(a)]) #先转成集合,然后去原字符串中查找每个字符,效率高

      1.4 请去除a字符串多次出现的字母,仅留最先出现的一个。例 'abcabb',经过去除后,输出 'abc'

        a_list = list(a) #转成list

        set_list = list(set(a_list)) #去重以后再转回list

        set_list.sort(key = a.list.index) #对去重以后的list进行原先的排序

      1.5 请将a字符串反转并输出。例:'abc'的反转是'cba'

        print a[::-1] #步进为-1时就是反转

      1.6 去除a字符串内的数字后,请将该字符串里的单词重新排序(a-z),并且重新输出一个排序后的字符 串。(保留大小写,a与A的顺序关系为:A在a前面。例:AaBb)

        l = sorted(a)排序,先数字再大写后小写的从小到大列表

        a_upper_list = [] #大写数组

        a_lower_list = [] #小写数组

        

        for x in l:#遍历

          if x.isupper():

            a_upper_list.append(x)  #如果是大写就添加到 大写数组里

          elif x.islower():

            a_lower_list.append(x) #小写添加到 小写数组里

          else:

            pass

        for y in a_upper_list: #遍历大写数组

          y_lower = y.lower() #把每个元素转成小写

          if y_lower in a_lower_list: #如果小写元素在 小写数组里

            a_lower_list.insert(a_lower_list.index(y_lower),y) #通过值来获取对应的索引,然后在其前面插入该大写字母

          print ''.join(a_lower_list) #将小写数组分割成字符串

       1.7 请判断 'boy'里出现的每一个字母,是否都出现在a字符串里。如果出现,则输出True,否则,则输 出False.

         a = "aAsmr3idd4bgs7Dlsf9eAF"

        search = 'boy'

        u = set(a) #转成集合,去重

        u.update(list(search)) #把search字符串转成列表,然后用每个元素去集合u里面去找,如果没有就更新到u里面,如果有就继续找下一个元素

        print len(set(a) ) == len(u)) #如果左右两边的len相同就说明每一个字母都出现在字符串里面了,返回true,反则返回false

       1.8 要求如1.7,此时的单词判断,由'boy'改为四个,分别是 'boy','girl','bird','dirty',请判断如上这4个字符串里的每个字母,是否都出现在a字符串里。

        search = ['boy','girl','bird','dirty']

        b = set(a)

        for i in search:

          b.update(list(i))

          print len(b) == len(set(a))

        1.9 输出a字符串出现频率最高的字母

        l = ([x,a.count(x) for x in set(a)])

        l.sort(key = lambda k:k[1],reverse = True)

        print[0][0]

        

       2.在python命令行里,输入import this 以后出现的文档,统计该文档中,"be" "is" "than" 的出现次数。

          import os
        m = os.popen('python -m this').read()
        m = m.replace(' ',' ')
        l = m.split(' ')
        print [(x,l.count(x)) for x in ['be','is','than']]
      
       3.一文件的字节数为102324123499123,请计算该文件按照kb与mb计算得到的大小
        print '%s kb' %(size >>10)
        print '%s mb'%(size >>20)

       4.已知  a =  [1,2,3,6,8,9,10,14,17],请将该list转换为字符串,例如 '123689101417'.

       print str(a)[1:-1].replace(',','')

      

      

  • 相关阅读:
    寻找重复数
    除自身以外数组的乘积
    汇总区间
    Atlas 分表功能
    Atlas 读写分离 & Atlas + MHA 故障自动恢复
    MHA 的 Binlog Server & VIP 漂移
    MHA 高可用介绍
    MySQL 主从复制(下)
    MySQL 基础面试题
    MySQL 主从复制(上)
  • 原文地址:https://www.cnblogs.com/zhenniu/p/5056050.html
Copyright © 2011-2022 走看看