python 字典+列表集合+文件读取
字典示例
************************ 各地食品的三级菜单*************************
1.使用字典嵌套字典
2.采用死循环思路
3.对字典 循环打印 只可得第一级的key
4.for i in <范围> //python的for循环实在与其他不同。 i 可为任意类型 不给参数限定 即会遍历范围
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
place={
"华北":{
"北京市":"北京烤鸭",
"天津市":"锅巴",
"河北省":"驴肉火烧",
},
"中南":{
"广东省":"早茶",
"河南省":"胡辣汤",
"湖北省":"热干面",
},
"华东":{
"上海市":"小笼包",
"江苏省":"锅盖面",
"浙江省":"西湖醋鱼"
},
"西南":{
"四川省":"担担面",
"云南省":"汽锅鸡",
"贵州省":"茅台酒"
}
}
while True:
for i in place:
print(i)
choice1=input("choose area or press B for back")
if choice1 in place:
while True:
for j in place[choice1]:
print('\t',j)
choice2=input("choose province or press B for back")
if choice2 in place[choice1]:
print('\t\t',place[choice1][choice2])
elif choice2=='B'or choice2=='b':
break
else:
print("put in wrong!")
while True:
choice3 = input("press B for back or Q for exit")
if choice3=='B'or choice3=='b':
break
elif choice3=='q'or choice3=='Q':
exit(0)
elif choice1 == 'B' or choice1 == 'b':
break
else:
print("put in wrong!")
============================================================================
集合
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#交集 A∩B
print(list_3.intersection(list_4))
print(list_3&list_4)
#并集 A∪B
print(list_3.union(list_4))
print(list_3|list_4)
#差集 A-B
print(list_3.difference(list_4))
print(list_3-list_4)
#对称查缉A⊕B=A∪B-A∩B
print(list_3.symmetric_difference(list_4))
print(list_3^list_4)
#A是否是B的子集
list_5=set([1,2,4])
print(list_5.issubset(list_3))
#增
list_3.add("x")
list_4.update([33,3,2])
print(list_3)
#删
list_3.remove(2) #只能删除集合中存在的东西 不存在会报错
list_3.discard(44) #不存在不会报错
#查 (列表 集合 字符串都用这种方法)
"x"in list_3
============================================================================
文件
w只读是新创一个文件覆盖
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# 文件句柄
# open("打开文件目录",'w(只写)r(只读)a(add在后增加不能读)r+(读写-可读再追加)w+(写读)',encoding="utf-8")
f=open("actor",'r+',encoding="utf-8")
# 不用最后close()文件
with open("actor",'r+',encoding="utf-8") as f:
#函数体 无需写f.close()
#二进制文件的读rb 写wb
f=open("actor",'wb')
f.write("hello binary".encode("utf-8"))
#读文件
f.read() #全部读出
f.readline() #按行读出
#低级读文件(将文件放于全内存中 只适用于小文件没用)
for index,readline in enumerate(f.readlines()):
if index % 9==0:
print("=================")
print(readline)
#高级读文件(效率最高 优先运用 有用)
count=0
for line in f:
if count%9==0:
print("===========")
count+=1
continue
print(line)
count+=1
# read后 光标位置置于最后 再read时将无法读到东西
f.tell() #输出光标位置
f.seek(0) #改变光标位置到0
#truncate()文件清空
f.truncate(10) #只读保留前10位的内容 其他清空
import sys,time
for i in range(20): #flush()刷新内存区
sys.stdout.write("#")
sys.stdout.flush()
time.sleep(0.3)
#文件修改
f=open("actor",'r',encoding="utf-8")
f_new=open("actor_1",'w',encoding="utf-8")
for line in f:
if "薛之谦" in line:
line=line.replace("薛之谦","cf")
f_new.write(line)
f.close()
f_new.close()