1.ex25接触了字符串函数split()、列表函数sorted()、pop()函数,整理一下其用法以及其他常见的字符串、列表操作函数如下。

(1)split()函数

split()是拆分字符串函数,通过指定分隔符对字符串进行切片,返回分割后的字符串组成的列表(list),每个字符串也可以赋值(或者该称为解包?)给新的变量

语法:str.split(str="",num)[n]

参数解释:str表示分隔符,默认为空格 ,不能为空("");若字符串中没有分隔符,则把整个字符串作为列表的一个元素并返回列表。

num表示分隔次数,默认为最大分隔次数;若指定num值,则分隔为num+1项。

①按默认字符分隔

 str = "www.cnblogs.com"
print str
str_split = str.split() #使用默认参数
print str_split

输出:

②以"."为分隔符

str_split = str.split(".")   
print str_split

输出:

分隔n次

print str.split(".",0)       #分隔0次
print str.split(".",1) #分隔1次
print str.split(".",2) #分隔2次

输出:

分隔2次并取序列为1的项

print str.split(".",2)[1]       #分隔2次,取序列为1的项

输出:

③分隔后把分隔的字符串赋值给变量

str1,str2,str3 = str.split(".",2)
print str1
print str2
print str3

输出:

(2)join()函数和split()相反,用来连接字符串

用法如下:

list = ['My','name','is','Jer']
print ' '.join(list)
print '_'.join(list)
print '..'.join(list)

输出:

(3)sorted()函数

Python中排序有两种  一种是内建函数sorted(),它生成一个新的排好序的列表;一种是sort方法,它直接对列表排序。

sorted():有四个参数,sorted(iterable,cmp=none,key=none,reverse=False):①其中iterable是排序的对象,中文意思是迭代器,包括字符串、列表、字典等对象类型

②cmp指定一个定制的比较函数,这个函数接收两个参数(iterable的元素),如果第一个参数小于第二个参数,返回一个负数;如果第一个参数等于第二个参数,返回零;如果第一个参数大于第二个参数,返回一个正数。默认值为None

③key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字。默认值为None

④reverse是一个布尔值,表示排列的顺序,为True则表示从大到小。默认为False。

下面来看实例:

A.基本用法:

可以看出,list.sort()方法会修改原始的list,返回none;而sorted(list)则返回一个新的排序列表。另需注意,list.sort()只为列表(list)定义,sorted()函数适用于一切迭代器。

B .key function应用

①按照列表中元素的长度排序:

def func(x):
return len(x)
list = ['Python','is','a','great','language']
print sorted(list,key = func)

输出:

②转换列表中元素为小写后在排序

list = ['zza','AAz','nnew','Merww']
print sorted(list,key = str.lower) #转换大小写后排序

输出:

2.常见的list列表函数及操作

(1)list()将字符串转为列表

(2)len()获得list元素的个数

(3)利用索引获得list中相应位置的元素。索引从0开始,0表示第一个元素,-1则可表示最后一个元素,类似的,-2表示倒数第二个元素

(4)利用索引可以直接将相应位置的元素重新赋值

(5)list切片操作   利用list的切片,可以轻松地获得列表的部分元素

①取出部分元素

如实例可见  list[index1:index2]将显示列表从list[index1]到list[index2-1]的元素,list[index2]不显示;在省略index1时即list[:index2],默认index1 = 0;省略index2即list[index1:],默认index2=len(list).故,list[:] = list[:-1],它将显示整个列表

②修改元素

(6)insert()方法  往list的某个位置插入字符串、列表时,字符串的每个字符、列表的每项都作为list的一个元素插入,而不是整体插入。若要整体插入,则可使用list的insert方法

(7)append方法  list是有序的列表,list的append方法可以在list的末尾追加新的元素

(8)pop方法  pop(index)可以删除列表中指定位置的元素,并返回该元素。若省略index值,则删除并返回最后一个元素

(9)remove()方法  删除第一个指定元素

利用循环,可以删除所有的某个指定元素

(10)index方法  index方法用来寻找列表中与指定的元素相匹配的第一个匹配项的位置亦即索引

若指定元素在列表中不存在,会触发一个异常。

重读LPTHW-Lesson25的更多相关文章

  1. LPTHW 结束了

    基本上在学习了LPTHW的 类 继承 和 合成以后基本就结束. 后面几章都是根据web.py进行网页编程,以及自动化测试的.目前来看不太感兴趣. 稍后我可能找个实际项目进行锻炼下,比如 Crossin ...

  2. LPTHW 笨办法学python 40章 类

    今天读了LPTHW的第40章以后豁然开朗,原来一直愚钝,不太理解类的定义和使用,还有就是不太理解关于self的定义. class MyStuff(object): def __init__(self) ...

  3. 重读 code complete 说说代码质量

    重读code complete 说说代码质量 2014年的第一篇文章本来计划写些过去一年的总结和新年展望,但是因为还有一些事情要过一阵才能完成,所以姑且不谈这个,说说最近重读code complete ...

  4. 不忘初心 --- 重读<<The C Programming Language>>

    这篇文章应该发布在好几年前,2011年计算机界大师Dennis Ritchie仙逝,那时对大师的映象还停留在大一刚学编程时:Unix的合作开发者,C语言的发明人.通过网上的纪念文章<<Un ...

  5. 重读COM技术内幕(inside com)有感

    重读COM技术内幕(inside com)有感 面向对象设计哲学在复杂领域并不能很好地解决问题.参考(http://www.richardlord.net/blog/what-is-an-entity ...

  6. 重读redis设计与实现

    重读了一遍redis设计与实现,这次收获也不错,把之前还有些疑惑的点:redis跳跃表的原理.redis持久化的方法.redis复制.redis sentinel.redis集群等,都重新熟悉了一遍, ...

  7. React.js 小书 Lesson25 - 实战分析:评论功能(四)

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson25 转载请注明出处,保留原文链接和作者信息. (本文未审核) 目前为止,第二阶段知识已经基本 ...

  8. (名词 形容词 动词 副词)重读&(冠词 介词 连词 代词 辅助词(Be))弱读

    二,一些发音规则 除了上面的练习之外,这里还有几个注意点需要我们有足够的认识,那就是英语有重读.弱读.连读.爆破.语感(节奏和断句)等(其实当你跟读并背诵新概念之后,这一切都是神马,你不知觉地也会发现 ...

  9. 重读《学习JavaScript数据结构与算法-第三版》-第2章 ECMAScript与TypeScript概述

    定场诗 八月中秋白露,路上行人凄凉: 小桥流水桂花香,日夜千思万想. 心中不得宁静,清早览罢文章, 十年寒苦在书房,方显才高志广. 前言 洛伊安妮·格罗纳女士所著的<学习JavaScript数据 ...

  10. 重读《学习JavaScript数据结构与算法-第三版》- 第4章 栈

    定场诗 金山竹影几千秋,云索高飞水自流: 万里长江飘玉带,一轮银月滚金球. 远自湖北三千里,近到江南十六州: 美景一时观不透,天缘有分画中游. 前言 本章是重读<学习JavaScript数据结构 ...

随机推荐

  1. vs2010中自动实现抽象方法

    由于刚接触vs,感官上虽然和eclipse差不多,但是一些快捷都不太相同,导致一开始使用时候非常不习惯. 不过刚开始嘛,写点相当小白的东西,也没有用到太多功能,也就暂时忽视,用的时候再说. 但是今天, ...

  2. 【转】实战Nginx与PHP(FastCGI)的安装、配置与优化

    原文连接:http://ixdba.blog.51cto.com/2895551/806622 原文作者:南非蚂蚁 转载注明以上信息 一.什么是 FastCGIFastCGI是一个可伸缩地.高速地在H ...

  3. MySQL--mysqldump的权限说明

    mysqldump 所需要的权限说明: 1.对于table 来说mysqldump 最少要有select 权限. 2.对于view 来说mysqldump 要有show view 权限. 3.对于tr ...

  4. SQLServer优化资料整理(一)

    查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 ...

  5. 对Qt for Android的评价(很全面,基本已经没有问题了,网易战网客户端就是Qt quick写的),可以重用QT积累20年的RTL是好事,QML效率是HTML5的5倍

    现在Qt不要光看跨平台了,Qt也有能力和原生应用进行较量的.可以直接去Qt官网查看他和那些厂商合作.关于和Java的比较,框架和Java进行比较似乎不且实际.如果是C++和Java比较,网上有很多文章 ...

  6. 多个ORACLE HOME的情况,默认的ORACLE HOME是哪个,以及如何更改HOME

    如果系统里安装了多个ORACLE产品,那么在注册表里,有可能也会有多个ORACLE HOME,在不设置系统环境变量的情况下,默认情况使用哪个ORACLE HOME? HKEY_LOCAL_MACHIN ...

  7. 添加python第三方插件时出现的问题

    当我安装beautifulsoup4时出现了如下错误: Fatal error in launcher: Unable to create process using '""F:\ ...

  8. magento添加系统sections配置时应注意的事项

    (1)只有在新增sections是需要增加对应的acl配置,这个配置可以放在config.xml中或者放在adminhtml.xml中 <adminhtml> <acl> &l ...

  9. JSONObject和JSONArray的简单使用(json-lib)

    一. jar包 commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.j ...

  10. .net网站开发(设计):1.什么是MVC模式

    好吧我知道,应该很少人一开始学网站开发就从MVC开始,但如果你已经理解了三层架构之类的,那直接尝试强大的微软MVC网站开发模式也是挺不错的. 但其实我们学校有个实验室,那些干进去的就算是大一的学生,也 ...