列表是可变的。

1. list函数(创建一个字符串列表)

    字符串不能像列表一样修改,所以根据字符串创建列表会很有用。

    实验一:

        list('hello') 则输出['h','e','l','l,'o']

2. 列表的基本操作

    元素赋值(根据索引进行赋值)

    实验二:

        x=[1,1,1]

        x[1]=2 则输出[1,2,1]

    删除元素用del语句

    实验三:

        x=[1,2,1]

        del x[1] 则输出[1,1]

    分片赋值

    实验四:(插入新元素)

        x=list('Hello')

        x[1:1]=list('e') 则输出['h','e','e','l','l','o']

    实验五:(替换元素

        x=list('Python')

        x[1:]=list('erl') 则输出['P','e','r','l']   

    实验六;(删除元素)

        x=list('hello')

        x[1:4]=[] 则输出['h','o']

3. 列表方法

    append:用于在末尾追加新的元素

    实验七:

        x=[1,2,3]

        x.append(list('hello')) 则输出[1, 2, 3, ['h', 'e', 'l', 'l', 'o']]

    count:用于统计元素在列表中出现的次数

    实验八:

        x=[1,1,1,1,1,1,1]

        x.count(1) 则输出7

    extend:可以在列表末尾一次性追加另一个序列中的多个值,用来扩展列表

    实验九:

        x=[1,2,3]

        y=[4,5,6]

        x.extent(y) 则输出[1,2,3,4,5,6]

    这看起来像一个原始的连接操作,但是不同的是这个操作改变了列表,返回了一个全新的列表。

    index:查找第一个匹配元素的索引位置

    实验十:

        x=[1,2,3]

        x.index(3) 则输出2

    如果没有找到则会抛出异常。

    insert:用于将对象插入到列表中

    实验十一:

        x=[1,2,3]

        x.insert(2,'hello') 则输出[1,2,'hello',3]

    pop:用于移除列表中的一个元素,默认是最后一个,并且返回该被移除元素的值

    实验十二:

        x=[1,2,3]

        x.pop() 则输出3

        x=[1,2]

    pop方法可以实现一种常见的数据结构----栈。结合append方法,一个作为入栈,一个作为出栈操作。

    remove:remove方法用于移除表中某个值的第一个匹配项

    reverse:此方法将列表中的元素反向存放

    sort:用于在原位置对列表进行排序,将改变原列表

    实验十三:

        x=[1,4,3,2]

        x.sort()

        x 则输出[1,2,3,4]   

    如果

        y = x.sort()

        print y

        None

    返回空值,这是因为sort方法修改了x却返回空值给y,所以结果将是排序后的x和空值y,

    正确方法:

        y = x[:]

        y.sort()

        y 则输出[1,2,3,4]

        x 则输出[1,4,3,2]

    再如果

        y = x

        y.sort()

        x 则输出[1,2,3,4]

        y 则输出[1,2,3,4]

    这是因为只是简单的将x赋值给y是没有用的,这样做只是让x和y指向了同一个列表,而x[:]是将包含x所有元素的分片赋值给了y,这是一种很有效率的赋值整个列表的方法。

    另一种方法:使用sorted函数

        y = sorted(x)

        x 则输出[1,4,3,2]

        y 则输出[1,2,3,4]