列表,元组,字典,集合
一、列表
1 #创建一个列表 2 names = ['zhangsan','lisi','wangwu','zhaoliu','ruanxiaoqi'] 3 print(names) 4 5 #列表后面增加元素 6 names.append('lulu') 7 print(names) 8 9 #指定位置插入元素 10 names.insert(2,'lili') 11 print(names) 12 13 #打印元素的内容 14 names[2] 15 print(names) 16 17 #删除元素 18 names.remove('lili') 19 print(names) 20 21 #删除指定位置元素 22 del names[2] 23 print(names) 24 25 #删除最后一个元素 26 names.pop() #names.pop(2) 删除下标为2的元素 27 print(names) 28 29 #获得已知元素的下标 30 index = names.index('lisi') 31 print(index) 32 33 #查询列表里的元素个数 34 count = names.count('lisi') 35 print(count) 36 37 #倒序排列 38 names.reverse() 39 print(names) 40 41 #排序 42 names.sort() 43 print(names) 44 45 #names2合并到names 46 names2 = ['linda','michael','peter'] 47 names.extend(names2) 48 print(names) 49 50 #删除names2 51 del names2 52 print(names2) 53 54 #前copy 55 #copy()方法为浅层复制,复杂类型只复制内存地址并不复制指向的数据 56 names3 = names.copy() 57 print(names3) 58 59 #深层copy 60 inport copy 61 names3 = copy.deepcopy(names) 62 print(names) 63 print(names3) 64 65 #循环列表 66 for i in names: 67 print(i) 68 69 #从0开始到-1,每2个打印一次 70 print(names[0:-1:2])
二、元组
1 #定义元组 2 names = ('zhangsan','lisi','wagnwu') 3 #查询'lisi'的下标,有重复的返回左边的下标 4 print(names.index('lisi')) 5 >>1 6 names = ('zhangsan','lisi','wagnwu','lisi') 7 #统计'lisi'有几个 8 print(names.count('lisi'))
三、字典
语法:
1 info = { 2 'stu1101': "TengLan Wu", 3 'stu1102': "LongZe Luola", 4 'stu1103': "XiaoZe Maliya", 5 }
字典的特性:
- dict是无序的
- key必须是唯一的,so 天生去重
1 1 #增加 2 2 info['stu1101'] = '苍老师' 3 3 print(info) 4 4 >>{'stu1101': 'TengLan Wu', 'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1104': '苍老师'} 5 5 6 6 #修改 7 7 info['stu1101'] = "武藤兰" 8 8 print(info) 9 9 >>{'stu1101': '武藤兰', 'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya', 'stu1104': '苍老师'} 10 10 11 11 #删除 12 12 info.pop('stu1101') 13 13 print(info) 14 14 >>{'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} 15 15 #删除2 16 16 del info['stu1103'] 17 17 print(info) 18 18 >>{'stu1102': 'LongZe Luola'} 19 19 #随机删除 20 20 info.popitem() 21 21 print(info) 22 22 >>{'stu1101': '武藤兰', 'stu1102': 'LongZe Luola'} 23 23 24 24 #查询'stu1101'是否在字典里 25 25 print("stu1101" in info) 26 26 >>True 27 27 28 28 #获取key的value 29 29 print(info.get("stu1102")) 30 30 >>LongZe Luola 31 31 print(info["stu1102"]) #同上,但是key为空报错,get返回None
多级字典嵌套操作
info = {'aa':{'aa':['bb']}, 'bb':{'cc':['ae']} } info['aa']['aa'][0]+='cc' a = info['aa']['aa'][0] print(a) >>bbcc
四、集合
集合是一个无序的数据组合。
特性:去重,没有重复的元素
1 #交集 2 print(set_1.intersection(set_2)) 3 print(set_1 & set_2) 4 >>{'a', 4} 5 >>{'a', 4} 6 #并集 7 print(set_1.union(set_2)) 8 print(set_1 | set_2) 9 >>{1, 2, 'a', 4, 5, 6, 12} 10 >>{1, 2, 'a', 4, 5, 6, 12} 11 #差集 12 print(set_1.difference(set_2)) 13 print(set_1 - set_2) 14 >>{1, 2, 5, 6} 15 >>{1, 2, 5, 6} 16 #对称差集 17 print(set_1.symmetric_difference(set_2)) 18 print(set_1 ^ set_2) 19 >>{1, 2, 5, 6, 12} 20 >>{1, 2, 5, 6, 12} 21 22 23 #判断是否子集 24 set_3 = set([4,2]) 25 print(set_3.issubset(set_1)) 26 >>True 27 #判断是否父级 28 print(set_1.issuperset(set_3)) 29 >>True 30 31 #删除一个元素,返回被删除元素 32 set_1 = set([1,2,4,6,'a',4,5,]) 33 print(set_1.pop()) 34 print(set_1) 35 >>1 36 >>{2, 4, 5, 6, 'a'} 37 38 #添加一个元素 39 print(set_1) 40 set_1.add('d') 41 print(set_1) 42 >>{1, 2, 4, 5, 6, 'a'} 43 >>{1, 2, 4, 5, 6, 'a', 'd'} 44 45 #添加多个元素 46 print(set_1) 47 set_1.update('d','g') 48 print(set_1) 49 >>{1, 2, 4, 5, 6, 'a'} 50 >>{1, 2, 4, 5, 6, 'd', 'a', 'g'} 51 52 #随机删除一个元素,返回删除的元素 53 print(set_1.pop()) 54 print(set_1) 55 >>1 56 >>{2, 4, 5, 6, 'a', 'd'} 57 58 #删除指定元素,无返回值,被删除元素不存在返回None 59 print(set_1.discard('a')) 60 print(set_1) 61 >>None 62 >>{1, 2, 4, 5, 6, 'd'} 63 64 #删除指定元素,无返回值,被删除元素不存在报错 65 print(set_1.remove(12)) 66 print(set_1) 67 68 #查看长度 69 print(len(set_1)) 70 >>6 71 72 #查看元素是否在集合内 73 print(1 in set_1) 74 print(1 not in set_1) 75 >>True 76 >>False 77 78 #浅复制 79 set_4 = set_1.copy() 80 print(set_1,set_4) 81 >>{1, 2, 4, 5, 6, 'a'} {1, 2, 4, 5, 6, 'a'}