#!/usr/bin/python3 #三元运算 a,b,c = 1,2,3 d = a if a>b else c print (d) #列表:增删改查 >>> name =[1,4,5,3,2,6,8,9,7,10] #定义一个列表name #查 >>> len(name) #列表长度 10 >>> name #查询整个列表 [1, 4, 5, 3, 2, 6, 8, 9, 7, 10] >>> name[0],name[1] #按下表查找,name[0]为列表第一个元素,以此类推 (1, 4) >>> name[3] 3 >>> name[1:2] #查询列表的一段,即:切片,从左到右,且包左不包右 [4] >>> name[0:5] [1, 4, 5, 3, 2] >>> name[0:5:2] #2是步调,隔一个取一个 [1, 5, 2] >>> name[-3:-1] [9, 7] >>> name.index(4) #列表元素查找,返回元素所在的列表的位置 1 >>> name.index(5) 2 >>> name.count(10) #列表元素10在列表中有几个 1 #列表增加元素 >>> name.append(50) #append方法在列表末尾追加元素50 >>> name [1, 4, 5, 3, 2, 6, 8, 9, 7, 10, 50] >>> name.insert(1,60) #insert方法:在name[1]的前面增加元素60 >>> name [1, 60, 4, 5, 3, 2, 6, 8, 9, 7, 10, 50] >>> #列表元素修改 >>> name[2] = 22 >>> name [1, 60, 22, 5, 3, 2, 6, 8, 9, 7, 10, 50] #列表元素删除 >>> name = [1, 60, 22, 5, 3, 2, 6, 8, 9, 7, 10, 50] >>> name.remove(2) #删除name中元素22 >>> name [1, 60, 22, 5, 3, 6, 8, 9, 7, 10, 50] >>> del name[2] #删除name中第2个位置的元素,即:22 >>> name [1, 60, 5, 3, 6, 8, 9, 7, 10, 50] >>> name.pop() #默认删除列表最后一个元素 50 >>> name [1, 60, 5, 3, 6, 8, 9, 7, 10] >>> name.pop(1) #删除列表第1个位置的元素 60 >>> name [1, 5, 3, 6, 8, 9, 7, 10] >>> name.clear() #清空列表 >>> name [] >>> del name #删除列表 >>> name Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'name' is not defined >>> #列表的复制:copy,deepcopy #引用:是指保存的值为对象的内存地址 a = [1,2] #创建列表a,将在内存中开辟一段内存地址,存储【1,2】,a是这段地址的门牌号 b = a #a列表赋值给b,实际是将b指向a的内存地址,并没有新开辟一段新的内存地址 #修改a中的元素,b就会跟着变化;修改b中的元素,a也会跟着变化 >>> a = [1,2] #创建列表a,将在内存中开辟一段内存地址,存储【1,2】,a是这段地址的门牌号 >>> b = a #a列表赋值给b,实际是将b指向a的内存地址,并没有新开辟一段新的内存地址 #修改a中的元素,b就会跟着变化;修改b中的元素,a也会跟着变化 >>> b [0] = 'bb' >>> a [1] = 'aa' >>> a ['bb', 'aa'] >>> b ['bb', 'aa'] >>> c = a[:] #将列表a的所有元素赋值给c,会新开辟一段内存空间存放c的元素 >>> c ['bb', 'aa'] >>> a ['bb', 'aa'] >>> c[0] = 'cc' #a和c之间没有任何关系 >>> c ['cc', 'aa'] >>> a ['bb', 'aa'] >>> ##注意:c = a[:]这种方法只是用于简单的列表(只有一层),如果列表中还存在子列表的话, ###这种方法就不适用了 >>> a1 = [1,2,3,[1,2,3]] >>> b1 = a1[:] >>> b1 [1, 2, 3, [1, 2, 3]] >>> b1[3][0] = 'b1' #子列表还以引用的同一个内存地址,互相影响 >>> a1[3][1] = 'a1' >>> a1 [1, 2, 3, ['b1', 'a1', 3]] >>> b1 [1, 2, 3, ['b1', 'a1', 3]] #copy:浅copy,d=a.copy()与c = a[:]效果相同 #deepcopy:深copy。列表有多层时,都为完全复制过来,不会和原来的列表有关联 >>> import copy >>> a1 = [1,2,3,[1,2,3]] >>> b1 = copy.deepcopy(a1) #a1 和b1之间没有关联 >>> b1 [1, 2, 3, [1, 2, 3]] >>> a1 [1, 2, 3, [1, 2, 3]] >>> a1[0] = 'a1' >>> b1[1] = 'b1' >>> a1 ['a1', 2, 3, [1, 2, 3]] >>> b1 [1, 'b1', 3, [1, 2, 3]] >>> a1[3][0] = 'a1' >>> b1[3][1] = 'b1' #列表循环 >>> name = [1,2,3,4,5,6,7,8,9] >>> for i in name: ... print (i) ... 1 2 3 4 5 6 7 8 9 >>> >>> for i in enumerate(name):print(i) #为列表加序号 ... (0, 1) (1, 2) (2, 3) (3, 4) (4, 5) (5, 6) (6, 7) (7, 8) (8, 9)
转载于:https://www.cnblogs.com/tobet/p/6921295.html