注解:列表的索引从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')列表的小伙伴们
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改变而改变。 【因此】在使用拷贝的时候,我们选用分片的方式进行。