美文网首页
python数据结构--列表

python数据结构--列表

作者: 向上的路 | 来源:发表于2019-03-28 22:36 被阅读0次

    列表

    1. 定义
      列表是一个有序可修改逗号分割,以中括号包裹的序列
      适用场景:
      存储多个数据,如需要存储100个人的名字等
      拓展
      列表与字符串的区别
      -列表
      可以修改
      -可通过列表的索引来修改列表
      -列表里面的数据类型是可以是不同的类型,甚至可以嵌套一个列表
    >>> name = []
    >>> print(type(name))
    <class 'list'>
    >>>
    >>> name = ["12",10]
    >>> print(name)
    ['12', 10]
    >>> type(name)
    <class 'list'>
    

    2.列表添加

    参数 描述
    append 追加,在列表的尾部加入指定的元素
    insert 将指定的元素插入到对应的索引位上,注意负索引
    extend 将指定序列的元素依次追加到列表的尾部(合并)
    >>> list1 = ['冰河','悟空','八戒',66]
    >>> list1.append("嫦娥")
    >>> print(list1)
    ['冰河', '悟空', '八戒', 66, '嫦娥']
    >>> list1.insert(0,"DW")
    >>> print(list1)
    ['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
    >>> list2 = [4,5,6]
    >>> list1 + list2
    ['DW', '冰河', '悟空', '八戒', 66, '嫦娥', 4, 5, 6]
    

    3.列表删除

    参数 描述
    pop 弹出并返回并删除指定索引位上的数据,默认删除索引为-1的数据
    remove 从左往右删除一个指定的元素
    del 删除整个列表或列表的数据,del是python内置功能,不是列表独有的
    >>> list1
    ['DW', '冰河', '悟空', '八戒', 66, '嫦娥']
    >>> list1.pop()
    '嫦娥'
    >>> list1
    ['DW', '冰河', '悟空', '八戒', 66]
    >>> list1.remove('八戒')
    >>> list1
    ['DW', '冰河', '悟空', 66]
    >>> del list1[0]
    >>> list1
    ['冰河', '悟空', 66]
    

    4.列表查找

    参数 描述
    count 统计要计数的元素在列表当中的个数
    index 查找,从左往右返回查找到的第一个指定元素的索引,如果没有找到,报错
    in 查找元素是否在列表中,在输出true,否则false
    >>> list1
    ['冰河', '悟空', 66]
    >>> list1[-1]
    66
    >>> list1.insert(1,'悟空')
    >>> list1
    ['冰河', '悟空', '悟空', 66]
    >>> list1.insert(2,'ck')
    >>> list1
    ['冰河', '悟空', 'ck', '悟空', 66]
    >>> list1.count(66)
    1
    >>> list1.count('悟空')
    2
    >>> list1
    ['冰河', '悟空', 'ck', '悟空', 66]
    >>> list1.index('ck')
    2
    >>> list1.index(88)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ValueError: 88 is not in list
    >>> a = [1,2,3,4,[5,6],7,8]
    >>> 4 in a
    True
    >>> 5 in a
    False
    >>> 5 in a[4]
    True
    >>> 5,6 in a[4]
    (5, True)
    
    

    补充: 5,6 in a[4] 表示采取就近原则,6在表达式中离a[4]更近,所以6对应的位置是True

    5.列表排序

    参数 描述
    reverse 顺序倒序
    sort 按照ascii码表顺序进行排序
    >>> list1
    ['冰河', '悟空', 'ck', '悟空', 66]
    >>> id(list1)
    647520471048
    >>> list1.reverse()
    >>> list1
    [66, '悟空', 'ck', '悟空', '冰河']
    >>> id(list1)
    647520471048
    >>> list1
    [66, '悟空', 'ck', '悟空', '冰河']
    >>> list1.sort()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: '<' not supported between instances of 'str' and 'int'
    >>> list2 = [6,4,3,5,1,2]
    >>> list2.sort()
    >>> list2
    [1, 2, 3, 4, 5, 6]
    

    拓展
    -reverse 元素(包括下标)都对调了,但是id没有被修改
    -列表内不同的数据类型,不能相互比较,否则会报错

    6.list函数
    list(),以一个序列作为参数并把它转换为列表,如何参数都是list,那么该参数就会被原样返回

    >>> a = ['a','b','c']
    >>> ''.join(a)
    'abc'
    

    注意:如果你定义了list这个变量,再用list()这个函数时会报错
    7.列表的切片

    >>> L1 = [1,2,3,4,5,6,7,8]
    >>> L1[1]
    2
    >>> L1[-1]
    8
    >>> L1[1:4]
    [2, 3, 4]
    >>> L1[1:6:2]
    [2, 4, 6]
    >>> L1[1:6:-1]
    []
    >>> L1[::-1]
    [8, 7, 6, 5, 4, 3, 2, 1]
    >>> L1[6:1:-1]
    [7, 6, 5, 4, 3]
    >>> L1[6:1:-2]
    [7, 5, 3]
    

    相关文章

      网友评论

          本文标题:python数据结构--列表

          本文链接:https://www.haomeiwen.com/subject/bukhbqtx.html