一.列表:(list) 1.定义:能装对象的对象. 2.用["",""]来表示列表; 3.索引:一排数字,反应第某个位置的字符 索引的下标从0开始 使用[] 来获取数据, 正向从0开始,反向从-1开始 4.索引的运算: 1.+ 组合 2.* 重复 3. 5.删除与更新列表 list.append() 更新列表 为列表添加新元素 del(list)[] 删除列表中的第[]个元素 内置函数 6.使用嵌套元素列表,即在列表中创建其他列表 eg: lst1= ["Google 谷歌","IE 微软","Firefox 火狐","Safari 苹果","Opera 欧朋 "] lst2 = ["Trident ","Webkit ","Gecko","Presto"] lst3 = [lst1,lst2] print(lst3) 7.切片[sta:end] 默认的方向是从左往右切 [str:end:step] #str:起始 end: 结束 step: 步长 默认是 1 ,从右往左取,-1从右往左取 8. 复制:(abc地址没有改变,只有d变了,想要复制而不影响原列表,只有采取d方法) a = [1, 2, 3] b = a c = [] c = a d = a[:] b[0]='b' print (a,b,c,d) print (id(a),id(b),id(c),id(d)) 结果: ['b', 2, 3] ['b', 2, 3] ['b', 2, 3] [1, 2, 3] 2030982357640 2030982357640 2030982357640 2030982357704 8.列表的增删改查: (1).列表的增: .append() 追加,在最后添加,效率比较高 .insert() 插入,需要有插入的位置与插入内容,会导致元素移动 .extend() 迭代添加,会把元素拆开,迭代列表,把元素放在列表,加双引号和逗号分开 (2).列表的删: .pop() 默认弹出最后一个,可以指定删除(索引) .remove() 想删除那个元素就删除那个元素 .clear() 清空 del lst[2] 关键字,删除列表元素(索引),也可以切片删除 (3).列表的改: lst = [] lst[1] = 索引修改 lst[1:3] = [""] 会产生迭代 lst[1:3] 切片修改 lst[1:5:2] = ["",""] 如果步长是1,那么元素的个数要匹配 (4).列表的查: 列表是一个可迭代对象,可以使用for循环: for i in lst: print(i) 列表的其他操作: .count() 计数,元素出现的次数 .sort() 排序,默认升序; sort(reverse = True) 倒叙 .reverse() 翻转 len(lst()) 获取列表的长度二.元组(tuple) 定义:元组就是不可变的列表,使用()表示,元素与元素之间用,隔开 #小括号在计算机里还表示算法优先级(不可变,只能读,小括号) tu=(1,) #加了逗号,就是元组了. tu=tu() 空元组 元组也有索引和切片,与列表、字符串一样 不可变指的是第一层元素不可变,第二层元素取决于你的数据类型 range(边界) #0到边界 #列表的补充 for el in lst: print(el) #只能拿到元素 for i in range(len(lst)): print(lst[i])/print([i]) #既能拿到元素,也能拿到索引 不可变的数据类型: int,str,bool,元组 解构,直接把元组或者列表中的数据拿出来: a,b,c = (a1,b1,c1) 必须一一对应三.字典(dict)1.字典的定义: 字典以{}表示,每一项用逗号隔开,内部元素用key:value的形式来保存数据 查询的的效率非常高,通过key来查找元素,内部使用key来计算,一个内存地址(暂时),key必须是不可变得数据类型(),必须是可hash的 hash算法, 可哈希就是不可变. unhashable type:'list' 说明key有问题,不可哈希2.字典的增删改查 (1)字典的新增 第一种修改方法: dic = {} dic["徐峥"] ="人在囧途" dic["李宇春"] = "蜀绣" dic["张杰"] = "天下" dic["张杰"] = "逆战" #如果可以已经存在,那么会替换原来的value(修改) print(dic) 第二种增加方法:dic.setdefault(key,value) dic = {} dic.setdefault("徐峥","人在囧途") dic.setdefault("徐峥","我不是药神") #如果key已存在,不会执行新增 print(dic) (2)删除: dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"} dic.pop("jj") #通过dic.pop来删除,指定key值来删除 dic.popitem() #通过dic.popitem 来随机删除 del dic["jj"] #通过del来删除指定key dic.clear() #清空字典 (3)字典的修改: dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"} dict = {"林俊杰":"江南", "周杰伦":"稻香", "张杰":"天下"} 1. dic["jj"]="君军" #用key直接去去改 2.dic.update(dict #新字典) # 如果key相同,即修改Value值;如果没有key值,则新增. (4)字典的查询: dic = {"jj":"林俊杰", "zjl":"周杰伦", "tz":"陶喆", "zj":"张杰", "xz":"徐峥"} 1. print(dic["xz"]) #直接用key去查询,没有key或者key错误就会报错 2. print(dic.get("xz")) #直接用key去查询,没有key会返回None print(dic.get("xn","谢娜")) #print(dic.get("原字典中没有的key","想要返回的内容")) 3.dic.setdefault() #(1).新增(先看有没有key值,如果就跳过;如果没有,就执行新增) #(2).根据key把值返回 字典的相关操作: (1) dic.items() #拿到的是键值对(key:value) for item in items(): print(item) #输出元组 print(item[0]) #拿到key值 (2) for k,v in dic items(): print(k) print(v) #当需要遍历字典,在操作中涉及到key和value 字典本身是一个可迭代对象,可以直接进行for循环: for el in dic: 直接拿到key print(el) print(dic[el]) 字典的嵌套:字典的嵌套,操作通过key值
来源:https://www.cnblogs.com/ljinw/p/12425118.html