一、列表定义

    python列表是python内置的数据对象之一

    列表是用"[]"包含,内有任意的数据对象,每一个数据对象

    以","分割,每个数据对像称之为元素

    python列表是一个有序的序列

    python列表支持任意的嵌套,嵌套的层次深度没有限制

a=[]    #空列表
print a
a=["seq1","seq2",'keyman',808,3.1]  #创建列表
print a
a=list('abcsgr')    #list函数创建列表
print a
a=['a',['b','c'],'d']   #列表嵌套
print a

    执行结果为

[]
['seq1', 'seq2', 'keyman', 808, 3.1]
['a', 'b', 'c', 's', 'g', 'r']
['a', ['b', 'c'], 'd']


二、列表的分片操作(游标)

    列表是有序的序列,支持索引操作,或者按照元素寻找索引

    列表的索引是从0开始,以此类推

    ['s', 't', 'r', 'i', 'n', 'g', 's'][0:-1:2] 操作方法和字符串的操作方法一样,返回的为列表

    ['s', 't', 'r', 'i', 'n', 'g', 's'][0]根据索引的位置,查找索引对应的元素,返回的为字符串

a=list('Python,nihao')
print a
print a[0:7:2]
print a[3]

    执行结果为

['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
['P', 't', 'o', ',']
h


三、列表方法

    1.list.append(object)

        append是将新的元素附加到列表内,附加的位置在列表最后

        append追加的元素只能是一个元素,不能进行多元素同时操作

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.append('!')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']

    2.list.count(value)

        统计每个对象在列表的对象中出现的次数

        返回值为number

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']
>>> print a.count('n')
2
>>> print a.count('b')
0

    3.list.extend(iterable)

        扩展列表,将可迭代的对象进行差分,将其追加到列表

        iterable是指可迭代的对象

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!']
>>> a.extend('Hello!')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o', '!', 'H', 'e', 'l', 'l', 'o', '!']

    4.list.index(value, [start, [stop]])

        根据列表内的元素查找元素所对应的索引

        返回值为number

        可选参数start stop指在什么范围内查找(具体用法和字符串的游标操作一样)

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.index('a')
10
>>> a.index('h',5)
9
>>> a.index('h',4,9)

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    a.index('h',4,9)
ValueError: 'h' is not in list
>>> a.index('h',4,10)
9
>>>

    5.list.insert(index, object)

        在给定的索引位置上,插入相对应的对象,对象可以是任意的

        insert方法相当于list[6:6]=object,不等价于list[6]=object

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.insert(6,'6')
>>> print a
['P', 'y', 't', 'h', 'o', 'n', '6', ',', 'n', 'i', 'h', 'a', 'o']
>>> a[6]='7'
>>> print a
['P', 'y', 't', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a', 'o']
>>> a[2:2]='d'
>>> a
['P', 'y', 'd', 't', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a', 'o']

    6.list.pop(index)

        弹出列表内的元素,并删除该元素,默认是最后一个

        index参数指定弹出指定索引对应的元素

>>> print a
['P', 'y', 't', 'h', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.pop(3)
'h'
>>> print a
['P', 'y', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a', 'o']
>>> a.pop()
'o'
>>> print a
['P', 'y', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a']
>>> a.pop(a.index('y'))
'y'
>>> print a
['P', 't', 'o', 'n', ',', 'n', 'i', 'h', 'a']

    7.list.remove(value)

        删除指定的元素,元素应当是在列表中存在,若值不存在引发ValueError

>>> print a
['P', 'y', 'd', 'h', 'o', 'n', '7', ',', 'n', 'i', 'h', 'a']
>>> a.remove('n')
>>> print a
['P', 'y', 'd', 'h', 'o', '7', ',', 'n', 'i', 'h', 'a']
>>> a.remove('p')

Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    a.remove('p')
ValueError: list.remove(x): x not in list

    8.list.reverse()

        将列表内元素顺序前后对调

        reverse不是反排序

>>> print a
['P', 'y', 'd', 'h', 'o', '7', ',', 'n', 'i', 'h', 'a']
>>> a.reverse()
>>> print a
['a', 'h', 'i', 'n', ',', '7', 'o', 'h', 'd', 'y', 'P']

    9.list.sort()

        将列表的内的元素进行排序

        排序的顺序为0-9,A-Z,a-z

        reverse=True反排序

>>> a=list('afsdfbADGDSFSD214325325')
>>> a.sort()
>>> print a
['1', '2', '2', '2', '3', '3', '4', '5', '5', 'A', 'D', 'D', 'D', 'F', 'G', 'S', 'S', 'a', 'b', 'd', 'f', 'f', 's']
>>> a.sort(reverse=True)
>>> print a
['s', 'f', 'f', 'd', 'b', 'a', 'S', 'S', 'G', 'F', 'D', 'D', 'D', 'A', '5', '5', '4', '3', '3', '2', '2', '2', '1']

    10.list[index]=value和del list[index]

        list[index]=value:给列表中的指定的游标赋值

        del list[index]:删除列表中的指定的游标的值

>>> a=list('abc123456')
>>> print a
['a', 'b', 'c', '1', '2', '3', '4', '5', '6']
>>> a[3]='A'
>>> print a
['a', 'b', 'c', 'A', '2', '3', '4', '5', '6']
>>> del a[3]
>>> print a
['a', 'b', 'c', '2', '3', '4', '5', '6']