ps:对应教程day9-
1、列表的内存结构
mylist=[1,2,3,4,5,6] #mylist是一个多个变量组成的集合,每个变量可以存储不同的地址不同类型的变量的地址
可以改变其中每个变量的值,此时并不会改变这个列表的地址。
每个元素都有一个地址,元素是变量。
2、更新列表
mylist=[1,2,3,4,5,6] for i in range(len(mylist)): #修改列表必须索引 if mylist[i]==3: #修改列表 ,mylist[i]是原本 mylist[i]=9999 for data in mylist: #修改失败,读取不修改用这个 if data==2: #data是副本 data=2222 print(data) mylist.append(1234) #增加 print(mylist)
更新列表要用遍历索引的方法,这样才能取出列表中的变量;如果是遍历变量的话,相当于赋值给新变量,不会修改列表中的值。
3、del列表中的变量
mylist=[1,2,3,4,5,6] for i in range(len(mylist)): #修改列表必须索引 if mylist[i]==3: #修改列表 ,mylist[i]是原本 del mylist[i]#删除一个元素,索引会变小,继续循环越界 break #终止循环 print(mylist) for data in mylist: #修改失败,读取不修改用这个 if data==2: #data是副本 del data #对于删除列表无效 print(mylist)
第一段如果不加break,会报错。原因是删除下标2的变量之后,后边的变量会填充到前面的位置,再继续循环下标4时就会出错,下标为4的变量已经没有了。