python 字典+列表集合+文件读取

枫铃4年前 (2021-06-26)Python282

字典示例

************************ 各地食品的三级菜单*************************

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()

相关文章

利用python同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。