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('\n',' ')
    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(',','')

  

  

python自学笔记(九)python练习题的更多相关文章

  1. python自学笔记

    python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...

  2. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  3. Python学习笔记九

    Python学习笔记之九 为什么要有操作系统 管理硬件,提供接口. 管理调度进程,并且将多个进程对硬件的竞争变得有序. 操作系统发展史 第一代计算机:真空管和穿孔卡片 没有操作系统,所有的程序设计直接 ...

  4. python自学笔记(一)

    我没学过python,通过网上和一些图书资料,自学并且记下笔记. 很多细节留作以后自己做项目时再研究,这样能更高效一些. python基础自学笔记 一.基本输入和输出 pthon3.0用input提示 ...

  5. Python 自学笔记(一)环境搭建

    一,关于Python的介绍 关于Python的介绍,我不想多说了,网上随便一搜,很多介绍,这里我主要写下我的自学Python的 过程,也是为了促进我能继续学习下去. 二,环境搭建 1,这里我只讲解Wi ...

  6. 如何深入系统的学习一门编程语言——python自学笔记

    前言 最早接触python的时候,他并没有现在这么火,我也没把他太当回事,那时候我对python的印象就是给运维人员使用的一门很古老的语言,显然随着tensorflow(以下简称tf)的兴起,pyth ...

  7. python自学笔记(一)简单了解python

    脚本解释型语言的内部机制 python先将脚本编译成字节码文件(pyc,pyo) python虚拟机解释并运行字节码文件 编译型语言的内部机制 先将源代码编译成机器码(机器能读懂的代码),生成可执行文 ...

  8. Python自学笔记-进程,线程(Mr serven)

    对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了 ...

  9. Python自学笔记之字符串的操作

    1.将字符串全部变为小写:lower() casefold() 范围更广 2.将字符串全部变为大写:upper() 3.判断是否大小写:isupper() islower() 4.居中:center( ...

  10. python学习笔记(一):python简介和入门

    最近重新开始学习python,之前也自学过一段时间python,对python还算有点了解,本次重新认识python,也算当写一个小小的教程.一.什么是python?python是一种面向对象.解释型 ...

随机推荐

  1. openstack之nova启动实例过程

    概述: 启动一个实例包含以下步骤: API server:处理用户请求并转发至cloud controller cloud controller:处理计算节点.网络控制.api server 以及sc ...

  2. Java程序在向mysql中插入数据的时候出现乱码

    今天在往数据库中插入数据的时候中文字符在数据库中就出现了乱码?网上有各种说法,但是适合我的,最终解决我的问题的只有下面一种! 在创建数据库的时候,注意设置编码方式. CREATE DATABASE ` ...

  3. wcf综合运用之:大文件异步断点续传

    在WCF下作大文件的上传,首先想到使用的就是Stream,这也是微软推荐的使用方式.处理流程是:首先把文件加载到内存中,加载完毕后传递数据.这种处理方式对小文件,值得推荐,比如几K,几十k的图片文件, ...

  4. 基于HTTP协议下载文件的实现

    最近在开发文件下载的程序,该程序是基于HTTP开发的. 首先是了解了文件传输到客户端的大概格式,然后分析该格式,实现写入文件的功能. 自己构造的HTTP包如下: GET /*********.rar ...

  5. less 工具

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...

  6. NETTY 编码器介绍

    1. 背景 1.1. 编解码技术 通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途. 反之,解码(Decod ...

  7. 四轴飞行器1.3 MPU6050(大端)和M4的FPU开启方法

    四轴飞行器1.3 MPU6050(大端)和M4的FPU开启方法  原创文章,欢迎转载,转载请注明出处      最近时间花在最多的地方就是STM32的I2C上了.之前就知道STM32的I2C并不好用, ...

  8. Linux 硬盘、网卡

    根据硬盘接口的不同,在Liunx中会有不同的命名 IDE 接口的硬盘会被叫成: hda,hdb,hdc (hd -- hard disk) hda 表示第一块硬盘,hdb表示第二块硬盘! 一般来说我们 ...

  9. 四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现

    原文:四种常见的提示弹出框(success,warning,error,loading)原生JavaScript和jQuery分别实现 虽然说现在官方的自带插件已经有很多了,但是有时候往往不能满足我们 ...

  10. cocos2d-x游戏开发(十六)帧动画

    欢迎转载:http://blog.csdn.net/dawn_moon/article/details/11775745 本来想写一下帧动画的,搜了一下网上好像有一大把,就懒得写了,直接贴代码. // ...