烟台开发区网站制作公司,发布企业信息的网站,网络架构方案书,乐平市建设局网站目录#xff1a;一、字典二、元祖三、字符串方法、切片四、非空即真#xff0c;非0即真五、文件正文一、字典字典d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}1、增加d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}#增#xff1a;2个方法d[money] …目录一、字典二、元祖三、字符串方法、切片四、非空即真非0即真五、文件正文一、字典字典d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}1、增加d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}#增2个方法d[money] 500d.setdefault(car,bmw)print(d)d[username] 123#重复keyvalue覆盖d.setdefault(grand,bmw)#存在keyvalue无效print(d)2、查询d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}#取值2个方法print(d[addr])print(d.get(username))print(d)#print(d[addrs]) #不存在的key报错print(d.get(usernames)) #不存在的key返回Noneprint(d.get(sex,男)) #get取不存在的key返回默认值3、删除#删除print(d)d.pop(username)del d[addr]print(d)4、其他方法1)取出字典所有key到一个list中取出字典所有values到一个list中print(d.keys())#取出字典所有key到一个list中print(d.values())#取出字典所有values到一个list中2)向字典里更新值d {username:xiaohei,id:1,grand:天马座,addr:北京,age:29}d.update(a1,b2)#向字典里更新值print(d)3)清空clear()d.clear()#清空print(d)4)判断key是否存在users {fd:123456,xzh:45678}username fd#判断key是否存在print(username inusers.keys())print(username in users) #判断key是否存在比keys()少一步转成list#users.has_key(username)#python25)取key和value值#直接取到key和valueprint(转成二维数组后取)print(d.items()) #转成二维数组for k,v ind.items():print(k,v)print()print(根据key取:)#性能好for k ind:print(k,d.get(k))练习录入学生users {fd:1234,lhy:456}for i in range(3):username input(username).strip()password input(password).strip()cpwdinput(cpwd).strip()if username or password or cpwd:print(不能为空)elif password!cpwd:print(两次输入不一致)else:users[username]passwordprint(注册成功)print(users)breakelse:print(输入错误次数过多)5、list字典嵌套info {lgy:{age:18,addr:beijing,car:[bmw,ben-z,audi],},fd:{house:{bj:[海淀区,昌平区,朝阳区,西城区],sh:[静安区,闸北区]},money:5000}}#lgy买了一辆五菱宏光#fd卖了北京昌平的房子钱增加了400 0000info[lgy][car].append(五菱宏光)info[fd][house][bj].remove(昌平区)info[fd][money]4000000print(info)#fd在重庆江北区买了房子#info[fd][house][cq][江北区]#info[fd][house].update(cq[江北区])info[fd][house].setdefault(cq,[江北区])print(info){lgy: {age: 18, addr: beijing, car: [bmw, ben-z, audi, 五菱宏光]}, fd: {house: {bj: [海淀区, 朝阳区, 西城区], sh: [静安区, 闸北区], cq: [江北区]}, money: 4005000}}二、元祖l (1,2,3,4,5)元祖是不可变的列表元祖一旦被创建不能改变里面的值只有2个方法li (118.24.3.40,root,123456,3306)#只有2个方法print(li.index(root))print(li.count(root))备注只有一个元素的元祖要加逗号t (abc) #只有一个元素不是元祖m (abc,) #只有一个元素的元祖加逗号print(t,type(t))print(m,type(m))三、字符串1、indexfinds abca#s.index() 找字符串下标(找不到会报错)#s.find() (找不到返回-1)print(找字符串下标)print(s.index(a))print(s.find(a))print(s.index(a,2)) #从第二个开始找,print(s.index(a,0,10)) #找前10个,print(s.find(a,2))2、s.strip() 去空格#s.strip() 去空格print(去空格、换行符或指定字符串)s abca,print(s.strip())print(s.rstrip()) #去右边空格print(s.lstrip())#去左边空格print(s.strip(,))s abcad你好\nprint(s)print(s.strip()) #去换行符print(s)3、s.replace()替换print(替换replace)s abcasffsfdsprint(s.replace(a,A))#把小a用大A代替#敏感词打码word_list [傻逼,傻b,煞比,sb]content input(请输入)for word inword_list:content content.replace(word,**)print(content)4、lower() upper() 大写、小写转换s ABCabcprint(s.lower())print(s.upper())5、zfill() 补0#s.zfill() 补0s1if len(s)3:if len(s)1:s00selif len(s)2:s0selse:s0print(s)print(s.zfill(5))6、# s.isdigit() 判断是否输入为纯数字,自然数# s.endswith() 以...结尾# s.startswith()以...开头s1.23print(s.isdigit())print(s.endswith(.py))print(s.startswith(1.))7、center() 使用字符使内容居中#s.center()print(欢迎登陆.center(50,1)) #用1字符凑够50个字符输入内容居中8、title() 将字符串变每个单词首字母大写print(my car.title())9、isspace() 判断输入的字符串中是全是空格#s.isspace()print( .isspace())#判断输入的字符串中是全是空格10、 s.isupper() s.islower() 判断是否全为大写/小写#s.isupper() 判断是否全为大写#s.islower() 判断是否全为小写print(my car.islower())11、capitalize() 首字母大写#capitalize()print(my car.capitalize()) #首字母大写12、s.split()分割字符串入参空默认按着空格和换行符分割字符串saabbccddprint(s.split())s aaa,bbb,ccc,dddprint(s.split(,))print(s.split(z)) #没有该分割符则把所有字符串放到一个list中13、s.join() 连接list里的每个元素的l [aa,bb,cc,dd]s .join(l)print(l)print(type(l)) #将原来的list变为字符串14、切片切片是list范围取值的一种方式importstringprint(string.ascii_lowercase) #所有小写print(string.ascii_uppercase)print(string.digits) #所有数字print(string.ascii_letters) #所有字母print(string.punctuation) #所有符号list切片l[a,b,c,d,e,f,g,h,i]print(l[0:2])#切片从0开始到第二个2结束 顾头不顾尾print(l[2:])#从第二个开始到末尾print(l[:3])#取到前3个print(l[:])#取所有元素print(l[0:9:2])#第三个参数步长 0,02,22,42,62#l[a,b,c,d,e,f,g,h,i]#0 1 2 3 4 5 6 7 8步长为负数print(l[::-1])#如果步长为负数取值从右往左开始取同时开始和结束下标也要写成负数#l[a,b,c,d,e,f,g,h,i]#-9 -8 -7 -6 -5 -4 -2 -2 -1#i--fprint(l[-1:-4:-1])字符串切片sabcdefprint(s[::-1]) #只要有下标的都可以包括list字符串元祖15、list与循环语句#print(list(range(1,5))) #[1, 2, 3, 4]#0 1 2 3 4 5 6 7 8 9 10l [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]for i inl:if i%2 0:l.remove(i)print(l) #循环删除会导致下标错乱[1, 2, 3, 5, 7, 9]#修改为l [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]l2[0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]for i inl2:if i%2 0:l.remove(i)print(l)为什么不能直接给l2赋值l#浅拷贝/深拷贝l [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]l2l#浅拷贝print(id(l))print(id(l2))#/深拷贝importcopyl [0, 1, 2, 2, 3, 4, 5, 6, 7, 8, 9]l2copy.deepcopy(l)print(id(l))print(id(l2))#以下虽然内存地址不是同一个但也是浅拷贝l [1,2,3,[1,2,3]]l3l.copy() #嵌套的也会随l改变而变化l4copy.copy(l)l5l[:]l[-1].append(abc)print(l)print(l3)print(l4)print(l5)四、非空即真 非0即真#非空即真非0即真#None {} () [] usernameinput(username:)passwordinput(password:)if username.strip(): #不为空 if not username.strip(): #为空print(你输入的不为空)else:print(username不能为空)d{a:1}ifd:print(真d不为空)五、文件1、只读f open(a.txt,r) #三种模式 w r a(附加模式) 默认读模式#f open(a.txt,r,encodingutf-8) #有中文result f.read() #字符串print(result)f.close()2、文件中有中文f.readlines()、f.readline()f open(a.txt,r,encodingutf-8) #有中文result f.readlines() #列表f.seek(0)result2 f.readline() #一行print(result)print(result2:result2)f.close()3、只写#w只写f open(a.txt,w,encodingutf-8)f.write(nihao) #只能是字符串names [\nfd,lhy,wq]new_name\n.join(names)f.writelines(new_name)#可以循环写只能是string类型f.close()#备注#写整数型需要转化成字符型写入numbers[1,2,3,4,5,6]for index inrange(len(numbers)):numbers[index]str(numbers[index])print(numbers)4、附加模式#附加模式f open(a.txt,a,encodingutf-8)#result f.read() 不能读names [fd,lhy,wq]f.writelines(names)f.close()5、读写#r w a 三种模式#r读写模式#r r打开不存在的文件都会报错f open(a.txt,r,encodingutf-8)resultf.read()print(result)names[fd,lhy,wq]f.writelines(names)print(readlines,f.readlines()) #有文件指针读完后指针已经到最后不能读第二次f.close()6、aa模式默认总最后附加写如何写在文件开头方法1先a打开再w打开重新写#写在开头f open(a.txt,a,encodingutf-8)f.seek(0)resultf.read()new_content ksitouresultf.close()f open(a.txt,w,encodingutf-8)f.write(new_content)f.close()方法2f.truncate()#清空文件内容f open(a.txt,a,encodingutf-8)f.seek(0)resultf.read()f.seek(0)new_result result.upper()#将原文件内容改为大写f.truncate()#清空文件内容f.write(new_result)f.close()#