3.列表(一个打了激素的数组)

xiaoxiao2021-02-28  252

注解:列表的索引从0开始

1.创建列表 empty = [] list1 = [1,2,3] list2 = [1,2,[1,2,3],'list',3.14] 2.向列表的尾部添加元素:append() list1.append(100) 3.extend():扩张:list1变成list1+list2 list1.extend(list2) 4.insert(插入位置,插入内容) list1.insert(0,'FishC')

(1)从列表中获取元素:list1[index] (2)从列表中删除元素: remove:必须知道列表中的元素的value才能删除;执行一次只删除一个元素。 del:删除列表中的元素;删除列表 del list1 del list1[2] pop:每次都是最后一个元素被删除并返回 value = list1.pop() (3)列表分片(创建列表的拷贝,并不修改列表) 注解:我们得到的只是列表分片后的一个拷贝,并不会修改原列表的值。 list1[0:3] 得到list1[0],list1[1],list1[2],没有list1[3] list1[:3] list1[3:] list1[:] 得到列表的拷贝

>>> list1 = [1,200] >>> list2 = [0,300] >>> list1>list2 比较大小 True >>> list1 = list1+list2 +表示list的拼接 >>> list1 [1, 200, 0, 300] >>> list1 *= 3 *表示重复多少次 >>> list1 [1, 200, 0, 300, 1, 200, 0, 300, 1, 200, 0, 300] >>> 1 in list1 in表示判断某个元素是否在list1中 True >>> list3 = [123,['小甲鱼','Kobe'],456,'mary'] >>> '小甲鱼' in list3 False >>> '小甲鱼' in list3[1] True

列表的小伙伴们

python >>> dir(list) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'] >>> list = [1,1,1,'小甲鱼',123,'mary'] >>> list.count(1) #count:出现多少次 3 >>> list.index(1) #index:返回索引位置 0 >>> list.index(1,1,4) #1,4表示查找的索引范围 1 >>> list.reverse() #直接反转list >>> list ['Mary', 'Helen', 100, 5, 1] >>> list = [100,'Helen',1,5,'Mary'] >>> list.sort() #对list进行排序 >>> list [1, 5, 100, 'Helen', 'Mary'] 注:sort(算法,key,reverse=false/true) 【特殊情况】关于分片/拷贝概念的补充 初始化: >>> l1 = [0,1,3,2,6,4,5] >>> l2 = l1[:] #l2是l1的拷贝 >>> l2 [0, 1, 3, 2, 6, 4, 5] >>> l3 = l1 #l3是l1的复制 >>> l3 [0, 1, 3, 2, 6, 4, 5] 对l1进行排序,查看l2/l3的变化: >>> l1.sort() >>> l1 [0, 1, 2, 3, 4, 5, 6] >>> l2 #l2不发生变化 [0, 1, 3, 2, 6, 4, 5] >>> l3 #l3发生变化,变成与l1相同 [0, 1, 2, 3, 4, 5, 6] 【解释】为什么会发生这种情况?因为在python中,l2列表是l1列表的一份拷贝,会生成一份列表的拷贝。 而,l3是赋值,只是多出来一个l3指向l1的标签。 因此,l1改变时,l2并不发生改变(因为l2有自己的拷贝);但是l3会随着l1改变而改变。 【因此】在使用拷贝的时候,我们选用分片的方式进行。
转载请注明原文地址: https://www.6miu.com/read-35526.html

最新回复(0)