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. Android4.0设置界面改动总结(三)

    Android4.0设置界面改动总结大概介绍了一下设置改tab风格,事实上原理非常easy,理解两个基本的函数就可以: ①.invalidateHeaders(),调用此函数将又一次调用onBuild ...

  2. MySQL数据处理函数

    数据处理函数 有时从数据库表中获取到的数据须要进行一些处理. 如将小写字母替换为对应的大写字母.这个处理过程能够在客户机上进行.也能够在数据库上进行. 数据库上进行会更高效.数据库中有对应的数据处理函 ...

  3. RDIFramework.NET(.NET快速信息化系统开发框架) Web版介绍

    RDIFramework.NET(.NET快速信息化系统开发框架)  Web版介绍 B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户 ...

  4. PostMessage和SendMessage的区别

    1, PostMessage只把消息放入队列,不管其他程序是否处理都返回,然后继续执行,这是个异步消息投放函数.而SendMessage必须等待其他程序处理消息完了之后才返回,继续执行,这是个同步消息 ...

  5. SQL学习之组合查询(UNION)

    1.大多数的SQL查询只包含从一个或多个表中返回数据的单条SELECT语句,但是,SQL也允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回.这些组合查询通常称为并或复合查询. ...

  6. isalpha函数,判断字符是否是字母

    头文件:<iostream> or  <cctype>  在c语言中<ctype.h> 功能:判断一个字符是否是英文字符,是大写返回1,是小写返回2,不是英文字符返 ...

  7. Django web开发【5】 实现标签功能

    标签tag在很多web2.0应用中都很常见,标签其实就是关联某些信息的一个关键字.打标签实际上就是给内容分配标签的过程,它通常由作者或者用户实现.标签之所有这么流行是因为它允许用户对自己创建的博客.图 ...

  8. jquery实现锚点动画效果

    锚点相信大家都使用过吧!点击后僵硬的切换是不是很不爽呢? 下面分享一个小技巧,根据锚点offset值来实现动画切换 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  9. 【原创】JPEG图像密写研究(二) 哈夫曼树的建立

    [原创]记录自己研究的过程,仅供参考,欢迎讨论... 在根据JPEG图像文件结构读取完文件后,提取出其中DHT段,利用其中内容建立哈夫曼树,便于之后译码工作.这里需要注意的是文件中的哈夫曼表数量不固定 ...

  10. 《Pointers On C》读书笔记(第一章 快速上手)

    1.C语言是一种自由格式的程序设计语言,没有规则要求我们必须如何书写语句.然而,如果我们在编写程序时能够遵守一些约定还是非常值得的,它可以使代码更加容易阅读和修改.另外,预处理命令有较为严格的规则. ...