索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null


列表是个有序结构,在内存中是一个挨一个的排列方式,有顺序的可以索引,还可以迭代
特点:有顺序,可索引,可迭代,可变
链表就是links

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_02


range一定要拿()抱起来,[]是不会帮你迭代的

索引的列能不能为null 列表的索引可以是负数_内存空间_03


可以复合结构

索引的列能不能为null 列表的索引可以是负数_迭代_04


索引的列能不能为null 列表的索引可以是负数_内存空间_05


索引也叫下标,一般从0开始
正索引,就是从0开始编号,0,1,2
负索引,从-1开始,-1,-2,-3
不能超界,引发异常indexerror

索引的列能不能为null 列表的索引可以是负数_内存空间_06


左边是下边界,右边是上边界,左边是头,右边是尾

索引的列能不能为null 列表的索引可以是负数_迭代_07


index本质上是函数,value是值

索引的列能不能为null 列表的索引可以是负数_迭代_08

索引的列能不能为null 列表的索引可以是负数_迭代_09


l对象,调用index方法,第一个元素没有2,2是在第一个元素里面
找不到会告诉你这个值有问题,2不在当前列表中

索引的列能不能为null 列表的索引可以是负数_迭代_10

索引的列能不能为null 列表的索引可以是负数_内存空间_11


index通过值查找,并没有通过索引
从左到右查找你的值,找到后返回值对应的索引
找不到则返回异常valueerror

索引的列能不能为null 列表的索引可以是负数_迭代_12

索引的列能不能为null 列表的索引可以是负数_内存空间_13


count所有元素过一遍才知道有几个,没有就是0

索引的列能不能为null 列表的索引可以是负数_内存空间_14


index,count,一个是去计数,一个是找第一个出现,没找到还是需要走一遍
count,有多少个元素,就需要走多少个,叫遍历,全部浏览一遍
index找的是value,是要把元素拿出来看看值比较的

下面是找索引是3的元素

索引的列能不能为null 列表的索引可以是负数_内存空间_15


但凡看到value的效率都不太高,最好不使用

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_16


用了start。stop可以不写,表示从索引几开始查找

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_17


O(n)
n表示列表中有n个元素
O(n)表示把所有的元素都遍历了一遍,非常耗时
随着你的规模越来越大,耗时越来越长,随着n的变化你的效率会越来越低

索引的列能不能为null 列表的索引可以是负数_数组_18

索引的列能不能为null 列表的索引可以是负数_数组_19


可以认为所有列表以前都是空的,加个元素,给你记1,再加一个1+1=2,不管你从哪里拿走元素,都-1,对于个数都是-1的事情
列表中加个对象,表示当下的元素的个数,增加元素就+1,减少元素就-1,有个计数装置,放在列表对象身上,问你有多少个元素,直接返回给你值即可
len实际上是个常量,你问就立即返还给你
面试会问道,随着规模增大,效率就下降,是靠遍历来完成的

索引的列能不能为null 列表的索引可以是负数_数组_20

索引的列能不能为null 列表的索引可以是负数_数组_21


打个问号其实也相当于调用了帮助

索引的列能不能为null 列表的索引可以是负数_数组_22


l是list对象,就告诉你list对象的构造方法

索引的列能不能为null 列表的索引可以是负数_迭代_23

索引的列能不能为null 列表的索引可以是负数_迭代_24

索引的列能不能为null 列表的索引可以是负数_迭代_25


不能写成这样,这样表示调用的函数,返回值交给help

索引的列能不能为null 列表的索引可以是负数_内存空间_26


2能找到就返回个索引,是个整形,就help的是int类型
help(3),3 这个东西能做什么

索引的列能不能为null 列表的索引可以是负数_数组_27


还可以这么写

索引的列能不能为null 列表的索引可以是负数_数组_28

索引的列能不能为null 列表的索引可以是负数_数组_29

索引的列能不能为null 列表的索引可以是负数_内存空间_30

索引的列能不能为null 列表的索引可以是负数_数组_31


list+索引号

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_32

索引的列能不能为null 列表的索引可以是负数_内存空间_33


但是不能这么写,有些语言支持稀疏数组,但是python不支持,所以不能写8,原数组索引没到8

索引的列能不能为null 列表的索引可以是负数_内存空间_34

索引的列能不能为null 列表的索引可以是负数_数组_35

索引的列能不能为null 列表的索引可以是负数_迭代_36


O(1)一步到位,直接解放,如果写的东西时间复杂度已经是O(1),就已经很好,没法改了

索引的列能不能为null 列表的索引可以是负数_数组_37


在尾部增加元素,找到尾部即可
append这个方法,其实是有返回值的,返回的是NONE,把一个元素加到列表的尾部上,

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_38

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_39


代表需要用索引先查找到位置,然后插入后,需要一个个元素往后挪

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_40


index在头上插入是0,但如果是-1,就需要测试一下

没有返回值

索引的列能不能为null 列表的索引可以是负数_数组_41


加进去了

索引的列能不能为null 列表的索引可以是负数_迭代_42


没有返回值相当于返回了none这个值,强行打印

索引的列能不能为null 列表的索引可以是负数_迭代_43


插入 /insert,c往前一放,其他值都往后挪
insert这个事情最好少做

索引的列能不能为null 列表的索引可以是负数_数组_44

索引的列能不能为null 列表的索引可以是负数_内存空间_45


头部追加指定0即可,尾部就append即可,没必要写insert写超界的100之类的

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_46

索引的列能不能为null 列表的索引可以是负数_内存空间_47

索引的列能不能为null 列表的索引可以是负数_数组_48

索引的列能不能为null 列表的索引可以是负数_内存空间_49


列表还可以扩展,
就地修改,把可迭代的元素一个个拿进来,变成自己的,在尾部追加

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_50


扩展还需要写可迭代对象,返回的是none

索引的列能不能为null 列表的索引可以是负数_内存空间_51


就地修改,把自己改变

索引的列能不能为null 列表的索引可以是负数_迭代_52


**造一个新的列表出来,+号出来的就是列表,有值出来

**

索引的列能不能为null 列表的索引可以是负数_内存空间_53


最后就有0,1,2,3,4

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_54


返回是none,修改的是自己,没有返回代表创建 的是新的

索引的列能不能为null 列表的索引可以是负数_数组_55


打印出以后,引用计数位0,就会被垃圾回收回收

索引的列能不能为null 列表的索引可以是负数_迭代_56


现在代表l1跟对象关联起来,有人记住了,引用人计数+1

索引的列能不能为null 列表的索引可以是负数_数组_57


相当于把前面的参数*3,生成了一个新的列表

索引的列能不能为null 列表的索引可以是负数_迭代_58


l1就没有变化

索引的列能不能为null 列表的索引可以是负数_数组_59


l1*3,返回的是一个列表对象,列表对象可以append,
append里面是对象。不是列表,不迭代

索引的列能不能为null 列表的索引可以是负数_迭代_60


append写明,给什么元素就加进去,不给你迭代

索引的列能不能为null 列表的索引可以是负数_内存空间_61


如果一定要迭代,使用list,把里面元素迭代返回

索引的列能不能为null 列表的索引可以是负数_内存空间_62


相当于如下

索引的列能不能为null 列表的索引可以是负数_迭代_63


append不给你迭代,extend表示后面如果你能迭代就把你一个个都加入

索引的列能不能为null 列表的索引可以是负数_数组_64


乘以3表示返回一个新的列表

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_65


如果想要增加很多元素,就可以使用extend迭代进去

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_66


**要注意返回值,append会返回none,如果有人就拿,没人要就不显示了

看不出来效果就可以像定义变量一样 看看

**

索引的列能不能为null 列表的索引可以是负数_内存空间_67

索引的列能不能为null 列表的索引可以是负数_数组_68

索引的列能不能为null 列表的索引可以是负数_数组_69


两个列表相加,等于两个列表直接合并
加法通常是把多余的列表合并,是经常使用的
但是要注意,加列表,如果另外两个列表还存在,内存空间等于翻倍

索引的列能不能为null 列表的索引可以是负数_迭代_70


这些方法基本不用,但是偶尔用,能少用就少用

索引的列能不能为null 列表的索引可以是负数_内存空间_71

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_72

索引的列能不能为null 列表的索引可以是负数_索引的列能不能为null_73


规模大的时候,要注意

索引的列能不能为null 列表的索引可以是负数_内存空间_74