列表

    添加时间:2013-6-25 点击量:

    一、序列类型操纵符

    1、切片[]和[:]

    2、成员关系操纵符(in ,not in )

       1:  s1 = [1,2,3,4,5,6,7]


       2:  s2 = [2,3,6]


       3:  s3 = []


       4:  for obj in s1:


       5:       if obj not in s2:


       6:           s3.append(obj)


       7:   


       8:  print s3


       9:  s4 = set(s1)-set(s2)


      10:  print s4    #set([1, 4, 5, 7])




    3、连接操纵符 (+)



    +:   两边连接同类型的,并且连接之后创建一个新的对象,不克不及将一个元素添加进去,只能是一个list对象+list对象。 




       1:  print s1+s2 #[1, 2, 3, 4, 5, 6, 7, 2, 3, 6]





       1:  重视:


       2:  li=[1,2,3]


       3:  li.extend(good),


       4:  print li  则输出:[1,2,3,good]


       5:  若是我们换成li.append(good)之后,则输出[1,2,3,good].


       6:  这是因为extend()添加全部列表对象,append()添加元素




    重视:




       1:  >>> li = [1,2,3]


       2:  >>> li+new item


       3:   


       4:  Traceback (most recent call last):


       5:    File "<pyshell#15>", line 1, in <module>


       6:      li+new item


       7:  TypeError: can only concatenate list (not "str") to list


       8:  >>> li.extend(item


       9:  >>> li


      10:  [1, 2, 3, item]


      11:  >>> li.append(item


      12:  >>> li


      13:  [1, 2, 3, itemitem]


      14:  >>> 




    4、反复操纵符()



    二、列表类型内建函数



    1、list.append(obj):向列表中添加一个对象obj




       1:  lis = [1,2,3,4,abcaaaaegreat]


       2:  lis.append(object


       3:  print lis   #[1, 2, 3, 4, abcaaaaegreatobject]




    2、list.count(obj):返回一个对象obj在列表中呈现的次数




       1:  #print lis.count(a)  #2




    3、list.extend(seq):把序列seq的内容添加到列表中




       1:  lis.extend(seq)   #[1, 2, 3, 4, abcaaaaegreatseq]




    4、list.index(obj,i=0,j=len(list)):返回list[k]==obj的k值,并且k的局限在 i<=k<j,不然激发ValueError异常




       1:  #print lis.index(aaa)  #8




    5、list.(index,obj):在索引量为index的地位插入对象obj(必须两个参数)




       1:  lis.(1,Z


       2:  print lis   #[1, Z, 2, 3, 4, abcaaaaegreat]






    6、list.pop(index = -1):删除并返回指定地位的对象,默认是最后一个




       1:  print lis.pop()     #great


       2:  print lis.pop(1)    #2



    7、list.remove(obj):从列表中删除对象obj




       1:  lis = [1,2,3,4,abcaaaaegreat]


       2:  #lis.remove(value


       3:  #若是不存在则产生异常:


       4:  #Traceback (most recent call last):


       5:  #  File "E:\project\Python_test\src\test\dic.py", line 8, in <module>


       6:  #    lis.remove(value


       7:  #ValueError: list.remove(x): x not in list


       8:  lis.remove(a


       9:  #若是有多个雷同的值,则只删除最前面的一个:[1, 2, 3, 4, bcaaaaegreat]


      10:  lis.remove(great) #[1, 2, 3, 4, bcaaaae]


      11:  &#160;


      12:  print lis



    8、list.reverse():原地翻转列表




       1:  lis = [1,2,3,4,abcaaaaegreat]


       2:  lis.reverse()


       3:  print lis   #[greateaaaacba, 4, 3, 2, 1]



    9、list.sort()




       1:  lis = [1,2,3,4,abcaaaaegreat]




       2:  #lis.sort(cmp=None, key=None, reverse=False)




       3:  lis.sort(cmp=None, key=None, reverse=True)




       4:  print lis   #[greatecbaaaaa, 4, 3, 2, 1]




    &#160;



    重视:那些可以改变对象值的可变对象的办法是没有返回值的



    如:




       1:  lis = [1,2,3,4,abcaaaaegreat]


       2:  print lis.extend(MM)  #None


       3:  result = lis.extend(MM


       4:  print result    #None






    这些操纵会在列表华夏地履行操纵,也就是说现有的列表内容会被改变,然则没有返回值。与之相反,字符串办法有返回值:




       1:  print abc.upper() #ABC



    此中与序列有关的内建函数,则可有返回值:




       1:  print reversed(lis)     #<listreverseiterator object at 0 x0128DAD0>


       2:  print sorted(lis)       #[1, 2, 3, 4, MMMMaaaaabcegreat]


    &#160;


    三、序列类型函数



    1、len()


    2、max() min()


    3、sorted()、reversed():重视字符串排序时应用字典序,而不是字母序


    4、enumerate()、zip()


    见:http://www.cnblogs.com/BeginMan/archive/2013/03/14/2959447.html


    5、sum()


    6、list()、tuple()


    文艺不是炫耀,不是花哨空洞的文字堆砌,不是一张又一张的逆光照片,不是将旅行的意义转化为名牌包和明信片的物质展示;很多时候它甚至完全不美——它嘶吼、扭曲,它会痛苦地抽搐,它常常无言地沉默。——艾小柯《文艺是一种信仰》
    分享到: