列表使用方括号括起来的[],每个元素以逗号分割;
可以储存不同的数据类型数据
demo:
sr="城市学院" li=[] for i in sr: li.append(ord(i)) print(li)增删改查
索引 切片
for循环遍历
元素遍历
li=['c','i','t','y','1','9','0','9'] for i in li: print(i)索引遍历
for i in range(len(li)): print(li[i])枚举遍历
enumerate() 对于一个可迭代的/可遍历的对象(如列表,字符串等),将其组成一个索引序列,利用它,我们可以同时获得索引和值 li=['c','i','t','y','1','9','0','9'] for i in enumerate(li,2): print(i,end=" ") for index,value in enumerate(li,2): print((index,value),end=' ') # (2, 'c') (3, 'i') (4, 't') (5, 'y') (6, '1') (7, '9') (8, '0') (9, '9')直接改
pop() 返回删除的元素
如果不指定索引,默认删除最后一个元素删除索引指定元素 li=['c','i','t','y','1','9','0','9'] print(li.pop(2)) print(li)remove() 不会返回值
移出第一次遇到的指定元素 li=['c','i','t','y','1','9','0','9'] li.remove('c') print(li)del
如有指定,删除指定元素无指定,删除整个列表且删除列表定义 li=['c','i','t','y','1','9','0','9'] del li[5] print(li)clear() 清空列表所有元素
li=['c','i','t','y','1','9','0','9'] li.clear() print(li)count() 查找元素出现的次数
reverse()
li=['c','i','t','y','1','9','0','9'] li.reverse() print(li)按照ASCII码值排序
li=['c','i','t','y','1','9','0','9'] li.sort() print(li) li.sort(reverse=True) print(li)深拷贝会创建新对象,内容是原对象的引用 (原元素集修改不会影响deepcopy的元素集)深拷贝拷贝对象的所有元素,包括多层嵌套的元素。因此,是开辟了一个新的内存储存区,和数据源没有关系
浅拷贝相当于只拷贝了一层,修改外层元素会修改引用,让它们指向另一个位置;修改嵌套列表的元素,列表地址没有发生变化,指向的还是同一个位置
import copy la=[1,2,3,['sss','d']] lb_copy=copy.copy(la) lb_deepcopy=copy.deepcopy(la) la[3][1]="aaa" print(la,lb_copy) print(la,lb_deepcopy) # [1, 2, 3, ['sss', 'aaa']] [1, 2, 3, ['sss', 'aaa']] # [1, 2, 3, ['sss', 'aaa']] [1, 2, 3, ['sss', 'd']]三种实现方法
切片操作[:]工厂函数list(li)copy模块内的copy函数 (原元素集添加新元素不会影响copy的元素集) la=[1,2,3,'s','d'] lb=la lb2=la[:] print(id(la),id(lb2)) # 2142053322504 2142053438344 import copy lb_copy=copy.copy(la) print(id(la),id(lb_copy)) # 2397079326472 2397079495816用来生成列表的特定的语法形式
sr='aaaa' print([ord(x) for x in sr])格式:
[表达式 for 迭代元素 in 可迭代对象]实现原理:
迭代[可迭代对象]中的每一个元素每迭代一次的结果赋值给对应的迭代元素,再通过表达式运算得到一个新的值最后所有通过表达式计算的值以一个列表的形式返回 y=13 x= (y+1 if y>10 else y-1) print(x) # 14 y=10 x= (y+1 if y>10 else y-1) print(x) # 9 # 中间为判断条件,前后位赋值语句demo:
name=["a","b","c"] subject=['a','b','c','d'] li=[] for i in name: for j in subject: li.append([i,j]) print(li) print([[i,j] for i in name for j in subject]) # [['a', 'a'], ['a', 'b'], ['a', 'c'], ['a', 'd'], ['b', 'a'], ['b', 'b'], ['b', 'c'], ['b', 'd'], ['c', 'a'], ['c', 'b'], ['c', 'c'], ['c', 'd']]