1. python中的三元运算:
result=value1 if 条件 else value2
如果条件成立,result=value1
如果条件不成立,result=value2
2. python3的bytes/str的区别
python3中把文本和二进制数据做了更加明确的区分:
文本:总是Unicode编码,str类型表示
二进制数据:bytes类型表示
因此,不能随意的拼接字符串和字节包。但是,字符串可以被编码(encode方法)编码成字节包,字节包可以被解码(decode方法)成字符串
3. 列表List的使用方法:
#extend 方法可以把两个列表进行组合在一起,达到扩展的作用
name=[“jack”,”Tom”,”David”]
name2=[“Alice”,”Bob”]
name.extend(name2)
4.带字体颜色样式的输出:
#将某些字红色显示输出: #将某些字以背景红色字体输出
\033[31;1m%s\033[0m \033[41;1m%s\033[0m
5.关于Enumerate
6.关于浅拷贝和深拷贝
(1)直接赋值的方式“=” (2)采用copy的方式(浅拷贝),第一层(两份)独立,第二层不独立(指针指向相同)
(3)深拷贝copy.deepcopy()(让多层嵌套的都独立起来)
(4)浅拷贝的三种方式:
1. name2=name.copy() 或者name2=copy.copy(name) 记得导入import copy模块
2. name2=name[:]
3. name2=list(name)
(5)浅拷贝的应用举例:
7.关于字典的操作:字典的合并,增删查改、遍历
#字典dictionary 是采用key-value的方式存储,是无序的。字典可以采用多级嵌套的方式,用key去寻找 info = { 'stu1101': "Tom", 'stu1102': "Lary", 'stu1103': "Maria", } b={ 'stu1101': "Catery", 'stu1104':"Bruce", "stu1105":"Aclise" } info.update(b)#将两个字典进行合并,相同key的进行覆盖,不同key的添加在一起 print(info) print("--------------------") c = dict.fromkeys([6,7,8],[1,{"name":"Jean"},444]) print(c )c[7][1]['name'] = "Jack Chen" print(c) print("++++++++++++++++++") print(info.items()) print(info.get('stu1103')) #判断元素是否在字典里面 print('stu1103' in info) #info.has_key("1103") in py2.x print(info["stu1101"]) #修改字典中的元素 info["stu1101"] ="Category55" info["stu1104"] ="JackCahng" print(info) print("************************") #del 关于字典的删除操作:三种删除的方法 del info["stu1101"] #info.pop("stu1101") #info.popitem()#任意选择一个并删除 print(info) #两种遍历字典的方法,推荐第一种, for i in info: print(i,info[i]) #第二种的效率较低,因为它会先把字典转成列表,特别是当数据量很大的时候,就会感觉到第二种效率低下 print("-------------------------") for k,v in info.items(): print(k,v)
8.三级菜单的显示(改进版)
data={ '四川':{ '成都':{ '青羊区':["青羊宫","人民公园","博物馆"], '金牛区':["天府广场","万达广场"], '新都区':["川音","成医","东荣影城"] }, '资阳':{ "安岳县":["周礼","镇子","驯龙"], "乐至县":["乐安","乐中校","乐至实验"], "雁江区":["保和","中和","东丰"] } }, '河南':{ '郑州':{ '惠济区':["郑州财经","河南省体育馆","贾河村"], '荥阳':["乔楼镇","郑州职业技术学院","高山镇"] }, '周口':{ '川汇区':["慈觉寺","周口一高","中原国际商贸城"], '商水县':["汤庄","化河乡","姚集乡"], "项城市":["高寺镇","官会镇","丁集镇","永丰乡"] } } } flag=True while flag: for i in data: print(i) info1=input("输入你想要查看的省份:") if info1 in data.keys(): for j in data[info1]: print(j) while flag: info2=input("输入你要查看的地级市:") if info2 in data[info1].keys(): for k in data[info1][info2]: print(k) while flag: info3=input("输入你想查看的县区:") if info3 in data[info1][info2].keys(): for m in data[info1][info2][info3]: print(m) elif info3=="q": flag=False elif info3=="b": break else: print("%s没有这个地方"%(info3)) elif info2=="q": flag=False elif info2=="b": break else: print("%s没有这个地级市"%(info2)) elif info1=="q": flag=False exit() else: print("没有这个省份。")