zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    力扣(LeetCode)验证回文串 个人题解(C++)
    力扣(LeetCode)平方数之和 个人题解
    Exclusive Access 2 UVA
    C语言中指针*p[N], (*P)[N]的区别
    2018年蓝桥杯国赛比赛心得
    2018acm/icpc西安邀请赛比赛心得
    [最小割]Cable TV Network UVA
    Tree Reconstruction UVA
    Twenty Questions UVA
    python中的enumerate 函数(编号的实现方式)
  • 原文地址:https://www.cnblogs.com/anthony-wsw/p/6487125.html
Copyright © 2011-2022 走看看