重读LPTHW-Lesson25

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

(1)split()函数函数

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

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

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

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

①按默认字符分隔blog

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

输出:排序

②以"."为分隔符索引

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

输出:rem

分隔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方法用来寻找列表中与指定的元素相匹配的第一个匹配项的位置亦即索引

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