day05 数据类型:字典
一、昨日作业讲解
lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv'] # 1)将列表lis中的’tt’变成大写(用两种方式)。 lis[3][2][1][0] = "TT" print(lis) lis[3][2][1][0] = lis[3][2][1][0].upper() print(lis2) # 2)将列表中的数字3变成字符串’100’(用两种方式)。 lis[1] = '100' lis[3][2][1][1] = '100' # 直接改 print(lis) lis[3][2][1].remove(3) # 移除后再添加 lis[3][2][1].insert(1,'100') print(lis) # 3)将列表中的字符串’1’变成数字101(用两种方式) lis[3][2][1][2] = 101 print(lis) lis[3][2][1][2] = int(lis[3][2][1][2].replace('1','101')) print(lis) print(lis[3][2][1][2]) # '1' lis[3][2][1][2] = int('10'+lis[3][2][1][2]) lis[3][2][1][2] = int(lis[3][2][1][2]) + 100 print(lis) li = [1,2,3] li[2] = 33 print(li) # 5,查找列表li中的元素,移除每个元素的空格, # 并找出以’A’或者’a’开头,并以’c’结尾的所有元素, # 并添加到一个新列表中,最后循环打印这个新列表。 # li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’ aqc’] li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir',' aqc'] b=[] for i in li: s=i.strip() if (s.startswith("A")or s.startswith("a"))and s.endswith("c"): b.append(s) for x in b: print(x) for i in li: s=i.strip() if s[0].upper() == 'A' and s[-1] == 'c': b.append(s) for x in b: print(x) # 6、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符: # 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”] # 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中; # 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。 li=["苍老师","东京热","武藤兰","波多野结衣"] new_li= [] info = input("评论") # 苍老师,东京热 法律框架第三 for i in li: if i in info: l = len(i) info=info.replace(i,'*'*l) new_li.append(info) print(new_li)
二、数据类型划分
数据类型划分:可变数据类型,不可变数据类型
不可变数据类型(可哈希):元组,bool int str
可变数据类型(不可哈希):list,dict set
dict中的key 必须是不可变数据类型,可哈希,
value:可以是任意数据类型。
dict 优点:二分查找去查询,存储大量的关系型数据
特点:无序的
三、字典的增删改查
1、增
dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',}
dic1['high'] = 185 #没有键值对,添加 dic1['age'] = 16 #如果有键,则值覆盖 # setdefault dic1.setdefault('weight') # 有键值对,不做任何改变,没有才添加。 dic1.setdefault('weight',150) dic1.setdefault('name','二哥') print(dic1)
2、删
#删 pop popitem del clear
print(dic1.pop('age')) # 有返回值,按键去删除 print(dic1.pop('二哥',None)) # 可设置返回值 print(dic1) print(dic1.popitem()) # 随机删除 有返回值 元组里面是删除的键值。 print(dic1) del dic1['name1'] print(dic1) del dic1 print(dic1) dic1.clear() #清空字典
3、改
#改 update dic1['age'] = 16 #直接改 dic = {"name":"jin","age":18,"sex":"male"} dic2 = {"name":"alex","weight":75} dic2.update(dic) # 有健则覆盖,没有就添加 print(dic) print(dic2)
4、查
#查 dic1 = {'age': 18, 'name': 'jin', 'sex': 'male',} print(dic1.keys(),type(dic1.keys())) print(dic1.values()) print(dic1.items()) # 输出的是元组,元组里是建和值 for i in dic1: print(i) #默认打印的是健 for i in dic1.keys(): print(i) for i in dic1.values(): print(i) a,b = 1,2 print(a,b) a = 1 b = 2 a,b = b,a #面试题 print(a,b) a,b = [1,2],[2,3] a,b = (1,2) print(a,b) for i in dic1.items(): print() for k,v in dic1.items(): print(k,v) v1 = dic1['name'] print(v1) v2 = dic1['name1'] # 没有健就会报错 print(v2) print(dic1.get('name1','没有这个键'))
四、字典的嵌套
dic = { 'name':['alex','wusir','taibai'], 'py9':{ 'time':'1213', 'learn_money':19800, 'addr':'CBD', }, 'age':21 } # 把年龄改为56 dic['age'] = 56 # 在name中添加ritian print(dic['name']) dic['name'].append('ritian') # 把wusir变成大写的 l = [1,2,'wusir'] l[2] = l[2].upper() dic['name'][1] = dic['name'][1].upper() print(dic) # 在py9中添加female female : 6 dic['py9']['female'] = 6 print(dic)
五、作业补充
# 计算一个字符中的数字整体的个数 # fhdklah123rfdj12fdjsl3 ' 123 12 13' info = input('>>>').strip() for i in info: if i.isalpha(): info = info.replace(i," ") l = info.split() print(len(l))

浙公网安备 33010602011771号