八、列表

作者: 焰火青春 | 来源:发表于2017-08-13 19:03 被阅读19次

    1、列表

    数组:元素数据类型必须一致
    列表:不要求数据类型一致,可以是整型、浮点型,也可以是字符串等

    1.1、创建列表

    (1)、普通列表

    >>>number = [1,2,3,4,5]
    

    (2)、混合列表

    >>> mix = [1,'python',[1,2,3]]
    

    (3)、空列表

    >>> empty = []
    

    1.2、向列表添加元素

    (1)、向末尾添加元素

    单个元素 list.append()
    多个元素 list.extend([])
    >>> list = [1,2,3]
    >>> list.append(4)
    >>> list
    [1, 2, 3, 4]
    >>> list.extend([5,6])   #extend()方法是使用一个列表拓展另一个列表,所以其参数是列表
    >>> list
    [1, 2, 3, 4, 5, 6]
    

    (2)、任意位置添加元素

    list.insert(a, b)    #参数a:要插入的列表的位置,参数b:要插入的元素
    
    >>> list = [1,2,3,4]
    >>> list.insert(1, 'python')    #1为索引号
    >>> list
    [1, 'python', 2, 3, 4]
    

    1.3、从列表中获取元素

    (1)、获取单个元素
    通过索引值获取单个元素,索引号从0开始

    >>> color = ['blue', 'white', 'red']
    >>> color[1]
    'white'
    
    >>> color[0], color[2] = color[2], color[0]
    >>> color
    ['red', 'white', 'blue']    #元素对换位置
    

    (2)、列表分片(获取多个元素)

    list[a:b]    #参数a、b为索引值,a为开始位置,b是结束位置,不包括结束位置
    >>> color = ['blue', 'white', 'red']
    >>> color[0:2]   
    ['blue', 'white']
    
    >>> color[:2]      #获取索引值2以前的元素,不包括2的元素
    ['blue', 'white']
    
    >>> color[1:]       #获取索引值为1以后的元素,包括1的元素
    ['white', 'red']
    
    >>> color[:]          #对原列表进行拷贝
    ['blue', 'white', 'red']
    
    
    >>> list = [1,2,3,4,5,6,7,8,9]
    >>> list[0:9:2]    # 列表分片第三个参数表示步进,默认为1
    [1, 3, 5, 7, 9]
    
    >>> list[::2]
    [1, 3, 5, 7, 9]
    
    >>> list[::-1]        # 第三个参数为复数则表示原列表原地翻转
    [9, 8, 7, 6, 5, 4, 3, 2, 1]
    
    >>> list[::-2]
    [9, 7, 5, 3, 1]
    

    1.4、从列表删除元素

    (1)、remove()方法
    不需要知道元素所在列表的位置,参数为将要删除的元素

    >>> num = [1,2,3]
    >>> num.remove(2)
    >>> num
    [1, 3]
    

    (2)、del[]语句
    参数:所删除元素的索引值

    >>> num1 = [1,2,3]
    >>> del num1[1]
    >>> num1
    [1, 3]
    
    >>> del num1                #删除整个列表
    

    (3)pop()方法
    默认弹出列表最后一个元素,其参数也可以接收索引值,进行弹出对应元素

    >>> list = [1,2,3,4,5,6]
    >>> list.pop()         # 默认弹出最后一个,并返回
    6
    >>> list
    [1, 2, 3, 4, 5]
    >>> list.pop(3)     # 指定索引值
    4
    

    1.5、列表的常用操作符

    >>> list1 = [123]
    >>> list2 = [456]
    >>> list3 = ['abc']
    >>> list4 = ['bcd']
    >>> list5 = [123,456]
    >>> list6 = [234,123]
    >>> list7 = list1 + list2     #连接操作符
    >>> list7
    [123, 456]
    >>> list8 = list3 + list4
    >>> list8
    ['abc', 'bcd']
    >>> list1 < list2             #比较操作符
    True
    >>> list3 > list4
    False
    >>> list5 > list6         #包含多个元素的列表比较时,默认从第一个元素开始比较,若真则整个列表赢了,字符串比较是第一个字符的ASCII码值对比
    False
    >>> (list1 < list2) and (list1 == list3)     #逻辑操作符
    False
    
    >>> list1 = [123]    
    >>> list1*2                     #重复操作符
    [123, 123]
    
    >>> list = [1,2,3,[4,5]]
    >>> 1 in list              #成员操作符in、not in
    True
    >>> 6 not in list
    True
    >>> 4 in list         #列表中的列表元素不能直接访问
    False
    >>> 4 in list[3]     #列表中的列表元素访问可以添加索引号
    True
    
    >>> list = [1,2,3,[4,5]]   
    >>> list[3][0]   #获取列表的列表元素,第一个参数为第一个列表索引值,第二个参数为第二个列表索引值
    4
    

    1.6、列表的其他方法

    查看所有列表:dir(list)
    (1)、count()方法
    计算其参数在列表中出现的次数

    >>> list1 = [1,1,2,3,4,5,8]
    >>> list1.count(1)
    2
    

    (2)、index()方法
    返回其参数在列表中的位置

    >>> list1.index(1)   #列表中两个相同元素,返回的为第一个的位置
    0
    >>> list1.index(3)
    3
    
    >>> list1.index(1, start,stop)  #设定索引范围,可以查找第二个目标位置
    1
    

    (3)、reverse()方法
    将整个列表原地翻转

    >>> list1.reverse()
    >>> list1
    [8, 5, 4, 3, 2, 1, 1]
    

    (4)、sort()方法
    用指定的方式对列表元素排序,默认为从小到大排序
    从大到小排序时,可以使用sort排序后再使用reverse()方法翻转
    另外可以使用sort()方法的第三个参数sort(func, key, reverse)
    默认sort(reverse = False),表示不颠倒顺序。

    >>> list2 = [2,1,4,6,3,9,8]
    >>> list2.sort()
    >>> list2
    [1, 2, 3, 4, 6, 8, 9]
    
    >>> list2.sort(reverse = True)   #True时表示颠倒顺序
    >>> list2
    [9, 8, 6, 4, 3, 2, 1]
    

    (5)、copy()方法
    与切片一样,不与原列表变化
    (6)、clear()方法
    清空整个列表,变成空列表

    1.7、关于列表分片的补充

    列表分片与拷贝不与原列表变化而变化,新赋值的列表相反

    >>> list1 = [1,3,4,2,7,9]
    >>> list2 = list1[:]
    >>> list2
    [1, 3, 4, 2, 7, 9]
    >>> list3 = list1
    >>> list3
    [1, 3, 4, 2, 7, 9]
    >>> list1.sort()      # 对原列表从小到大排序
    >>> list1
    [1, 2, 3, 4, 7, 9]
    >>> list2
    [1, 3, 4, 2, 7, 9]       #切片的列表不变化
    >>> list3                 #赋值的列表变化
    [1, 2, 3, 4, 7, 9]
    

    相关文章

      网友评论

        本文标题:八、列表

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