首页 > 代码库 > python数据结构(二)------列表

python数据结构(二)------列表

  本文将重点梳理列表及列表操作。


2.1  list函数

2.2  基本列表操作

2.3  列表方法


 

2.1  list函数

  >>>list(‘hello‘)

  [‘h‘,‘e‘,‘l‘,l‘,‘o‘]

注:list函数适用于所有类型的序列,而不只是字符串。

2.2  基本列表操作

  2.2.1  改变列表:元素赋值

  >>>x = [1,3,5]

  >>>x[0] = ‘a‘

  >>>x

  [‘a‘,3,5]

注:不能对不存在的元素赋值,即x[0]~x[2]存在,可赋值,x[3]不存在,不可赋值。

  2.2.2  删除元素

  >>>names = [‘jack‘,‘bob‘,‘tom‘,‘alice‘]

  >>>del names[1]

  >>>names

  [‘jack‘,‘tom‘,‘alice‘]

  2.2.3  分片赋值

  >>>name = ‘anthony‘

  >>>namelist = list(name)

  [‘a‘,‘n‘,‘t‘,‘h‘,‘o‘,‘n‘,‘y‘]

  #步长为1时,替换原分片位置为赋值列表

  >>>namelist[1:3] = [‘a‘,‘b‘,‘c‘]

  [‘a‘, ‘a‘, ‘b‘, ‘c‘, ‘h‘, ‘o‘, ‘n‘, ‘y‘]

  #步长为2时,赋值列表长度必须与原分片元素数一致

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

  Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
  ValueError: attempt to assign sequence of size 3 to extended slice of size 4

  >>>namelist[::2] = [1,2,3,5]

  >>>namelist

  [1, ‘a‘, 2, ‘c‘, 3, ‘o‘, 5, ‘y‘]

  #分片操作可以实现删除序列功能

  >>>namelist[1:] = []

  >>>namelist

  [‘a‘]

2.3  列表方法

  2.3.1  append

  #append方法实现列表末尾追加新的对象;

   >>>lst = [‘a‘,‘b‘,4]

   >>>lst.append(‘a‘)

   [‘a‘, ‘b‘, 4, ‘a‘]

  #直接修改原列表

  2.3.2  count

  #count方法统计某个元素在列表中出现的次数;

   >>>lst.count(‘a‘)

   2

   

  2.3.3  extend

    #extend方法实现在列表的末尾追加另一个序列中的多个值;

    >>>lst2 = [1,2,3]

    >>>lst.extend(lst2)

    >>>lst

    [‘a‘, ‘b‘, 4, ‘a‘, 1, 2, 3]

    #extend方法不同于级联操作”+“,extend方法是在原列表直接修改,而“+”操作是返回一个新的列表

    >>>a = [‘a‘,‘a‘,‘b‘]

    >>>b = [1,2,3]

    >>>a+b

    [‘a‘,‘a‘,‘b‘,1,2,3]

    >>>a

    [‘a‘,‘a‘,‘b‘]

  2.3.4  index

    #index方法用于寻找列表中某个值第一个匹配项的索引位置;

    >>>names = [‘jack‘,‘tom‘,‘alice‘,‘rose‘,‘timor‘]

    >>>names.index(‘jack‘)

    0

    >>>names.index(‘sam‘)

    Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
    ValueError: ‘sam‘ is not in list

  2.3.5  insert

    #insert方法用于将对象插入列表中;

    >>>numbers = [1,2,3,4,5,6,7]

    >>>numbers.insert(3,‘a‘)

    >>>numbers

    [1,2,3,‘a‘,4,5,6,7]

    #同样可以用分片操作完成

    >>>numbers[3:3] = [‘a‘]

    [1,2,3,‘a‘,‘a‘,4,5,6,7]

  2.3.6  pop

    #pop方法会移除列表中的一个元素(默认最后一个);

    >>>x = [1,2,3]

    >>>x.pop()

    3

    >>>x

    [1,2]

    >>>x.pop(0)

    1

    >>>x

    [2]

  2.3.7  remove

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

    >>>x = [‘alice‘,‘tome‘,‘time‘,‘jack‘]

    >>>x.remove(‘alice‘)

    [tome‘,‘time‘,‘jack‘]

  2.3.8  reverse

    #reverse方法将列表中的元素逆向存放;

    >>>x = [1,3,5]

    >>>x.reverse()

    >>>x

    [5,3,1]

  2.3.9  sort

    #sort方法在原位置进行排序;

    >>>x = [4,6,9,7,8]

    >>>x.sort()

    >>>x

    [4,6,7,8,9]

    #sort方法无返回值,因此,y = x.sort() 返回值为None

 

python数据结构(二)------列表