空列表的生成可以用一对中括号、list()函数和作用于字符串的split()方法:
ls1 = [] # 一对空的方括号ls2 = list() # 无参数的list()函数生成空列表ls3 = ''.split() # 作用于空字符串时,会生成一个空列表

列表中可以容纳各种类型的数据:
ls1 = [1,2,'hello',[3,4],(5,6),{7,8},{'a':12}]

列表的数据的修改
ls = [1,2,3,4,5,6,7,8,9,10]

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


切片赋值方法更新列表中的数据,要求新值也为列表将原列表中切片中元素删除,用新的列表中的元素代替切片的位置。
ls = [1,2,3,4,5,6,7,8,9,10]ls[1]='hello'ls[2:5]=[100] # 序号2,3,4的元素切片返回的是[3,4,5],将其替换为列表[100]


当切片不连续时(如,ls[i:j:step])新列表与切片元素数量相等,依序替换
ls = [1,2,3,4,5,6,7,8,9,10]ls[1::2]=['a','b','c','d','e']


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


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



ls.extend(L)是将另一个列表L中的所有元素追加到列表ls的末尾
ls = [88,56,95,46,100,77]L = [10,20,30]ls.extend(L)


ls.insert(i,x)是向列表ls中序号为 i 的位置插入一个一元素 x
ls = [88, 56, 95, 46, 100, 77]ls.insert(2, 99) # 序号为2的位置插入元素99


列表的元素删除—pop()__方法
ls.pop(i)移除列表中序号为 ‘i’ 的一个元素,缺省移除列表的最后一个元素。pop()方法是唯一一个能删除列表元素又能返回值的列表方法,其返回值为被移除的元素
L = list('7319826') # ['7', '3', '1', '9', '8', '2', '6']L.pop(3) # 移除列表中序号为3的元素L.pop() # 参数缺省时,默认移除列表末尾的元素



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



列表的元素删除— remove()方法
ls.remove(x) 
删除列表ls中第一个与参数“x”值相同的元素列表中存在多个与参数“x”值相同的元素时,只删除第一个,保留其它元素。当列表中不存在与参数“x”相同的元素时,抛出错误。
L = list('73192154') # ['7', '3', '1', '9', '2', '1', '5', '4']L.remove('1') # 删除列表中第一次出现元素'1'L.remove('6') # ValueError: list.remove(x): x not in list


列表的元素删除- clear()方法
L.clear()方法可用于删除列表L中全部元素,即清空列表,作用与del L[:]相同
L = list('73192154')L.clear() # 删除列表中全部元素,对象 L 仍存在


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



列表的排序— ls.sort()方法
ls.sort(seq, key=None, reverse=False)
列表中的数据在原地进行排序,直接比较元素大小,直接修改了列表中的数据,无返回值默认升序排序;参数reverse=True时,降序排序
L = ['73','13','9','82','6','5','04']ls = [89,76,58,99,34,60]#小L.sort() # 比较字符串大小,逐个比较字符的unicode值,升序排序# ['04', '13', '5', '6', '73', '82', '9']# 字符串'13'< '5'#ls.sort()# 比较数值的大小


_
