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

  • 相关阅读:
    121. Best Time to Buy and Sell Stock
    70. Climbing Stairs
    647. Palindromic Substrings
    609. Find Duplicate File in System
    583. Delete Operation for Two Strings
    556 Next Greater Element III
    553. Optimal Division
    539. Minimum Time Difference
    537. Complex Number Multiplication
    227. Basic Calculator II
  • 原文地址:https://www.cnblogs.com/anthony-wsw/p/6487125.html
Copyright © 2011-2022 走看看