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. error while loading shared libraries: libevent-1.x.so.1

    安装完memcache后启动报错(error while loading shared libraries: libevent-1.x.so.1) 这是由于64位linux会去/usr/lib64目录 ...

  2. SlidingMenu的编译及使用

    1. 在github上有一个效果不错的开源库,SlidingMenu 最新的代码下载下来后,ExampleListActivity项目会报错:      No resource found that ...

  3. JavaSE思维导图(四)

  4. MS SQL:ID自增列从1开始重新排序

    数据库中把ID自增长重置成1: 一般做法:(太麻烦) 复制表数据->删除原表.新建一张表->粘贴: 新方法: 数据库中:新建查询->复制.粘贴一下代码->修改表名,执行即可(先 ...

  5. SQL 语句优化—— (一) 操作符优化

    1.IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格.但是用IN的SQL性能总是比较低的,从Oracle执行的步骤来分析用IN的SQL与不用IN的SQL有以 ...

  6. Jsp连接Mysql数据库取数方法

    我将Jsp连接Mysql数据库方法整理如下,供大家学习交流! 1.首先在myslq数据库中新建mldn数据库,并新建emp表.(方法不展开介绍) 插入数据如下: create table `emp` ...

  7. 代码风格——Cocos2d-x学习历程(四)

    1.Cocos2d-x拥有一个包含其他所有头文件的文件"cocos2d.h".通常,我们只需要在使用时包含这个头文件,就可以使用引擎的全部功能了. 2.Cocos2d-x的类都放置 ...

  8. BZOJ 1407: [Noi2002]Savage( 数论 )

    枚举答案, 然后O(N^2)枚举野人去判他们是否会在有生之年存在同山洞. 具体做法就是: 设第x年相遇, 则 Ci+x*Pi=Cj+x*Pj (mod M), 然后解同余方程. 复杂度应该是O(ans ...

  9. Tomcat与Web服务器、应用服务器的关系

    Tomcat服务器是一个免费的开放源代码的Web应用服务器.因为Tomcat技术先进.性能稳定且免费,所以深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器. A ...

  10. 关注SSO

    https://wiki.jasig.org/display/CASC/Configuring+the+Jasig+CAS+Client+for+Java+in+the+web.xml 其余的看osc ...