Python列表类型的内建函数使用实例(insert、remove、index、pop等)

来源:互联网 发布:红点瞄准镜 知乎 编辑:程序博客网 时间:2024/05/21 13:58
#coding=utf8'''标准类型函数:cmp():进行序列比较的算法规则如下:-----------------------------------------------------------------------------1. 对两个列表的元素进行比较2. 如果比较的元素是同类型的,则比较其值,返回结果3. 如果两个元素的不是同一种类型,则检查它们是否是数字    a. 如果是数字,执行必要的数字强制类型转换,然后比较。    b. 如果有一方的元素是数字,则另一方的元素"大"(数字是"最小的")    c. 否则,通过类型名字的字母顺序进行比较4. 如果有一个列表首先到达末尾,则另一个长一点的列表"大"5. 如果列表长度相同且所有元素都是相等的,那么两个序列就是相等的,返回一个0。 ------------------------------------------------------------------------------len():返回字符串的长度,就是字符串包含的字符个数。对于列表或者元组来说,它会返回列表或者元组的元素个数。max()和min():对于字符串操作,是获取字符串中最大和最小字符,对于列表和元组,获取列表和元组中最大和最小元素。混合对象的结构越复杂返回的结构准确性就越差。enumerate()与zip():前者是输出列表的index和元素值;后者等长的两个列表对应为的元素组合成一个元组,生成一个元组列表。sum()和reduce():对数字列表进行求和。list()与tuple()接受可迭代对象作为参数,并通过浅拷贝数据来创建一个新的列表或元组。如果不考虑range()函数,python中没有特定用于列表的内建函数。range()函数接受一个数值作为输入,输出一个符合标准的列表。列表类型内建函数列表:--------------------------------------------------------------------------------list.append(obj)-------------------向列表中添加一个对象objlist.count(obj)---------------------返回一个对象obj在列表中出现的次数list.extend(seq)--------------------把序列seq的内容添加到列表中list.index(obj,i=0,j=len(list))------返回list[k]==obj的k值,并且k的范围在                                                       i<=k<J;否则引发ValueError异常。list.insert(index,obj)---------------在索引量为index的位置插入对象obj。list.pop(index=-1)-----------------删除并返回指定位置的对象,默认是最后一个对象list.remove(obj)-------------------从列表中删除对象objlist.reverse()-----------------------对列表进行倒序list.sort(func=None,key=None,reverse=False)--------以指定的方式排序列表中的成员,如果func和key参数指定,                                                      则按照指定的方式比较各个元素,如果reverser标志被设置为True,                                                      则列表以反序排列。--------------------------------------------------------------------------------'''print "--------------调用cmp()函数-----------------"#从第一个元素开始比较#如果元素不相等,谁大列表就大    list1=["abcdef","sunny","windy"]list2=["baby","godness",123456]if cmp(list1,list2)<0:    print list1#从第一个元素开始比较#如果元素不相等,谁大列表就大    list1=["zippo","sunny","windy"]list2=["baby","godness",123456]    if cmp(list1,list2)>0:    print list1 #顺序一致才能完全相等#元素顺序影响比较结果   list1=[1,2,3,4,5,6,7]list2=[1,2,3,4,5,6,7]  if cmp(list1,list2)==0:    print list1#元素个数不一致#已有元素相等谁的元素多谁大list1=[1,2,3,4,5]list2=[1,2,3,4,5,6,7]  if cmp(list1,list2)<0:    print list1print "-----------------------------------------------"print print "--------------调用len()函数-----------------"#获取元素列表长度list1=["baby","godness",123456]print len(list1)print "-----------------------------------------------"printprint "--------------调用max()与min()、sum()函数-----------------"list1=["zippo","sunny","windy"]list2=[1,2,3,4,5,6,7]  print "list2 max:",max(list2),"\t","list2 min:",min(list2)print "list1 max:",max(list1),"\t","list1 min:",min(list1)print "The list2 sum:",sum(list2)print "-----------------------------------------------"printprint "--------------调用enumerate()与zip()函数-----------------"list1=["zippo","sunny","windy","one","two","god","witch"]list2=[1,2,3,4,5,6,7]  #使用enumerate函数输出元素索引和元素值for ind,var in enumerate(list1):    print ind,"------->",var#等长的两个列表对应为的元素组合成一个元组,生成一个元组列表for l1,l2 in zip(list1,list2):    print "(",l1,l2,")"print "-----------------------------------------------"printprint "--------------调用list()与tuple()函数-----------------"list1=["zippo","sunny","windy","one","two","god","witch"]list2=[1,2,3,4,5,6,7]  #调用list()函数print  type(list(list2))#调用tuple()函数print  type(tuple(list1))print "-----------------------------------------------"printprint "--------------列表类型内建函数-------------------------"list1=["zippo","sunny","windy","one","two","god","witch"]list2=[1,2,3,4,5,6,7]  list3=list(list2*3)print "copy list2 3 times to list3:",list3#调用append()函数list2.append(8)print "add 8 to list2 with append():",list2#调用count()函数print "The 3 appear times of list3:",list3.count(3)print "The windy appear times of list1:",list1.count("windy")#调用extend()函数list1.extend(list2)print "add list2 to list1:",list1list2.extend([12,1,6,45])print "add [12,1,6,45] to list2:",list2#调用index()函数#设置查找范围是从第一个元素到最后一个元素print "the index of one element in list1:",list1.index("one")#设置查找范围是从第3个元素到最后一个元素print " the index of god element in list1 :",list1.index("god",3)#设置查找范围是从第3个元素到第五个元素print " the index of two element in list1 :",list1.index("two",3,5)#要查找的index不在所需范围内#抛出ValueError异常try:    print list1.index("two",5)except ValueError,v:    print "The index is not range:",v#调用insert()函数#在指定位置插入对象#指定位置之后的函数整体后移一位list2.insert(1,[123,45])print "insert [123,45] into list2 at index=1:",list2list2.insert(0,"hello")print "insert hello into list2 at index=0:",list2#调用pop()函数#删除并返回指定位置的对象print "before calling pop(),the list2:",list2#默认是最后一个对象print "the last element of list2:",list2.pop()print "after calling pop(),the list2:",list2#删除并返回第三位置的元素print "the third element of list2:",list2.pop(2)print  "after calling pop(),the list2:",list2#调用remove()#从列表中删除指定对象print "before calling remove(),the list3:",list3#删除list3从第一位到最后一位,第一次出现的7list3.remove(7)print "after calling remove(),the list3:",list3#调用reverse()对列表逆序print "before calling reverse():",list2list2.reverse()print "after calling reverse():",list2#调用sort()队列排序#不带有参数list2.sort()print "calling sort() without parameter:",list2#对列表逆序list2.sort(reverse=True)print "calling sort() with parameter reverse=True:",list2print "---------------------------------------------------------"print

0 0