day5 字典的增删改查、嵌套及升级等操作
1、昨日内容回顾及作业讲解
列表:增 append insert extend 删 remove pop clear del 改 li[索引] = '被修改的内容' li[切片]: '被修改的内容' 查 for循环 range 元组: sort(reverse = True) reverse()反转 ps:列表里都是字符串,也是可以排序的,是按照字符串的首字母的ascii码排序的 join: list---->str S.join(iterable) li = [1,2,3] s1 = str(li) split: str---->list
2、作业讲解:
1 lis = [2,3,'k',['qwe',20,['k1',['tt',3,'1']],89],'ab','adv'] 2 #1、将列表中的'tt'变成大写(用两种方式) 3 # name = lis[3][2][1][0].upper() 4 # lis[3][2][1][0] = name 5 # print(lis) 6 lis[3][2][1][0] = lis[3][2][1][0].replace('tt','TT') 7 print(lis)
3、字典
数据类型划分:可变数据类型和不可变数据类型
不可变数据类型:元组,bool int str 可哈希
可变数据类型:list 字典 set 不可哈希
dict key 必须是不可变数据类型,可哈希,
value: 任意数据类型
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的(3.5及3.5之前)
1 # dic = { 2 # 'name':['大猛','小孟'], 3 # 'py9':[{'num':71, 4 # 'avg_age':18}], 5 # True:1, 6 # (1,2,3):'wuyiyi', 7 # 2:'二哥', 8 # } 9 # print(dic) 10 dic1 = {'age': 18, 'name': 'jin', 'sex': 'male'} 11 #增: 12 # dic1['high'] = 185 #没有键值对,添加 13 # dic1['age'] = 16 #如果有键,则值覆盖 14 15 # dic1.setdefault('weight') # 有键值对,不做任何改变,没有才添加 16 # dic1.setdefault('weight',150) 17 # dic1.setdefault('name','二哥') 18 # print(dic1) 19 20 #删 21 # print(dic1.pop('age')) # 有返回值,按键去删除 22 # print(dic1.pop('二哥','没有此键')) # 可设置返回值 23 # print(dic1) 24 # dic1.popitem() # 随机删除 有返回值 元组里面删除的是键值 25 # print(dic1) 26 27 # del dic1['name'] 28 # print(dic1) 29 # del dic1 30 # print(dic1) 31 32 # dic1.clear() #清空字典 33 34 #改,update 35 # dic1['age'] = 16 36 37 # dic = {"name":"jin","age":18,"sex":"male"} 38 # dic2 = {"name":"alex","weight":75} 39 # dic2.update(dic) # 将dic所有的键值对覆盖添加(相同的覆盖,没有的添加)到dic2中 40 # print(dic) 41 # print(dic2) 42 43 #查 44 # print(dic1.keys(),type(dic1.keys())) 45 # print(dic1.values()) 46 # print(dic1.items()) 47 48 # for i in dic1: 49 # print(i) #默认打印键 50 # for i in dic1.keys(): 51 # print(i) 52 53 # for i in dic1.values(): 54 # print(i) 55 56 # a,b = 1,2 57 # print(a,b) 58 59 # a = 1 60 # b = 2 61 # a,b = b,a 62 # print(a,b) 63 # a,b = [1,2] 64 # a,b = [1,2],[2,3] 65 # a,b = (2,3) 66 # print(a,b) # 看最小单位 67 # for k,v in dic1.items(): 68 # print(k,v) 69 70 # v1 = dic1['name'] 71 # print(v1) 72 73 # v2 = dic1['name1'] #报错 74 # print(v2) 75 76 print(dic1.get('name1','没有这个键'))
4、字典的嵌套
dic = { 'name':['alex','wusir','taibai'], 'py9':{ 'time':'1213', 'learn_monkey':19800, 'addr':'CBD', }, 'age':21 } # dic['age'] = 56 # print(dic['name']) # dic['name'].append('ritian') #将wusir改成大写 # dic['name'][1] = dic['name'][1].upper() # print(dic) #在py9里添加female:6键值对 # dic['py9']['female'] = 6 # print(dic) info = input('>>>') # fhdklah123rfdj12fdjs13 for i in info: if i.isalpha(): info = info.replace(i," ") l = info.split() print(len(l))
浙公网安备 33010602011771号