空列表的生成可以用一对中括号、list()函数和作用于字符串的split()方法:

    1. ls1 = [] # 一对空的方括号
    2. ls2 = list() # 无参数的list()函数生成空列表
    3. ls3 = ''.split() # 作用于空字符串时,会生成一个空列表

    image.png
    列表中可以容纳各种类型的数据:

    1. ls1 = [1,2,'hello',[3,4],(5,6),{7,8},{'a':12}]

    image.png

    列表的数据的修改

    1. ls = [1,2,3,4,5,6,7,8,9,10]

    image.png

    1. ls = [1,2,3,4,5,6,7,8,9,10]
    2. ls[1]='hello'

    image.png
    image.png

    切片赋值方法更新列表中的数据,要求新值也为列表将原列表中切片中元素删除,用新的列表中的元素代替切片的位置。

    1. ls = [1,2,3,4,5,6,7,8,9,10]
    2. ls[1]='hello'
    3. ls[2:5]=[100] # 序号2,3,4的元素切片返回的是[3,4,5],将其替换为列表[100]

    image.png
    image.png
    当切片不连续时(如,ls[i:j:step])新列表与切片元素数量相等,依序替换

    1. ls = [1,2,3,4,5,6,7,8,9,10]
    2. ls[1::2]=['a','b','c','d','e']

    image.png
    image.png

    新列表元素的数据类型与原列表不要求相同

    1. ls = [88,56,95,46,100,77]
    2. print(ls[0:6:2] ) #步长为2
    3. # 切片返回结果,3个元素,输出[88, 95, 100]
    4. ls[0:6:2] = [10,20,30]
    5. # 返回的3个元素用新列表中对应位置的元素替代
    6. print(ls) # 输出[10, 56, 20, 46, 30, 77]
    7. ls[0:6:2] = ['Python','C语言','VB']
    8. # 新列表元素的数据类型与原列表不要求相同
    9. print(ls)
    10. # 输出['Python', 56, 'C语言', 46, 'VB', 77]

    image.png
    image.png

    列表的更新
    列表的更新有append()、extend()和insert() 三种方法,这三种方法都是原地操作,不改变列表对象身份(id值)。
    ls.append(x)用于向列表ls末尾追加一个元素

    1. ls = [88,56,95,46,100,77]
    2. ls.append(100)
    3. ls.append('python')

    image.png
    image.png
    image.png
    ls.extend(L)是将另一个列表L中的所有元素追加到列表ls的末尾

    1. ls = [88,56,95,46,100,77]
    2. L = [10,20,30]
    3. ls.extend(L)

    image.png
    image.png
    ls.insert(i,x)是向列表ls中序号为 i 的位置插入一个一元素 x

    1. ls = [88, 56, 95, 46, 100, 77]
    2. ls.insert(2, 99) # 序号为2的位置插入元素99

    image.png
    image.png

    列表的元素删除—pop()__方法
    ls.pop(i)移除列表中序号为 ‘i’ 的一个元素,缺省移除列表的最后一个元素。pop()方法是唯一一个能删除列表元素又能返回值的列表方法,其返回值为被移除的元素

    1. L = list('7319826') # ['7', '3', '1', '9', '8', '2', '6']
    2. L.pop(3) # 移除列表中序号为3的元素
    3. L.pop() # 参数缺省时,默认移除列表末尾的元素

    image.png
    image.png
    image.png

    1. L = list('7319826') # ['7', '3', '1', '9', '8', '2', '6']
    2. first = L.pop(3) # 移除列表中序号为3的元素,将被移除的元素命名为first
    3. last = L.pop() # 移除列表末尾元素,将移除的元素使中为last

    image.png
    image.png
    image.png

    列表的元素删除— remove()方法
    ls.remove(x)
    删除列表ls中第一个与参数“x”值相同的元素列表中存在多个与参数“x”值相同的元素时,只删除第一个,保留其它元素。当列表中不存在与参数“x”相同的元素时,抛出错误。

    1. L = list('73192154') # ['7', '3', '1', '9', '2', '1', '5', '4']
    2. L.remove('1') # 删除列表中第一次出现元素'1'
    3. L.remove('6') # ValueError: list.remove(x): x not in list

    image.png
    image.png

    列表的元素删除- clear()方法
    L.clear()方法可用于删除列表L中全部元素,即清空列表,作用与del L[:]相同

    1. L = list('73192154')
    2. L.clear() # 删除列表中全部元素,对象 L 仍存在


    image.png
    image.png

    1. L = list('73192154')
    2. del L[:] # 删除列表中全部元素,对象 L 仍存在
    3. print(L) # 输出空列表 []
    4. del L # 对象L 被删除
    5. print(L) # NameError: name 'L' is not defined


    image.png
    image.png
    image.png

    列表的排序— ls.sort()方法
    ls.sort(seq, key=None, reverse=False)
    列表中的数据在原地进行排序,直接比较元素大小,直接修改了列表中的数据,无返回值默认升序排序;参数reverse=True时,降序排序

    1. L = ['73','13','9','82','6','5','04']
    2. ls = [89,76,58,99,34,60]
    3. #小L.sort() # 比较字符串大小,逐个比较字符的unicode值,升序排序
    4. # ['04', '13', '5', '6', '73', '82', '9']
    5. # 字符串'13'< '5'
    6. #ls.sort()
    7. # 比较数值的大小

    image.png

    image.png

    _