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. 安卓activity捕获返回button关闭应用的方法

    安卓activity捕获返回button关闭应用的方法 @Override public boolean onKeyDown(int keyCode, KeyEvent event) { //按下键盘 ...

  2. 分布式ElasticSearch简单介绍

    这里我们解释一些通用的术语,比如集群(cluster).节点(node)和分片(shard).Elasticsearch的扩展机制,以及它怎样处理硬件故障.在此将探索怎样创建你的集群(cluster) ...

  3. 根据输出设置select的被选中值

    $("#startupStatus").find("option").map(function(i) { if ($('#st-status').val() = ...

  4. 匹配图片src正则

    preg_match_all('#<img.*?src="([^"]*)"[^>]*>#i', $xstr, $match); /** * 获取图片sr ...

  5. OOX 面向对象X

    OOA - Object-Oriented Analysis(面向对象分析) OOT - Object-Oriented Testing (面向对象测试) OOP - Object-Oriented ...

  6. Convert Binary Search Tree (BST) to Sorted Doubly-Linked List

    (http://leetcode.com/2010/11/convert-binary-search-tree-bst-to.html) Convert a BST to a sorted circu ...

  7. VS插件

    VS插件 背景 前些天去考科目二,感觉经历了一场不是高考却胜似高考的考试(10年前的5分之差, 还是难以释怀)!    一行八人,就我学的时间最少(4天,8人一辆车),教练都觉得我肯定还得再来一次! ...

  8. MySQL 分区表各个分区的行数

    分区的信息是记录在information_schema.partitions 这个表里的.它不能直接定位行所在的分区,但它可查到每个分区中有多少行. 例子: select partition_name ...

  9. jquery 工作笔记,不断整理中..

    $('input:radio[name="ruleType"]:checked').val()  //获得radio选中的值 $("input[name='Q_lastU ...

  10. STL内存配置器

    一.STL内存配置器的总体设计结构 1.两级内存配置器:SGI-STL中设计了两级的内存配置器,主要用于不同大小的内存分配需求,当需要分配的内存大小大于128bytes时, 使用第一级配置器,否则使用 ...