day3学python 字典+列表集合+文件读取
字典+列表集合+文件读取
字典示例
************************ 各地食品的三级菜单*************************
1.使用字典嵌套字典
2.采用死循环思路
3.对字典 循环打印 只可得第一级的key
4.for i in <范围> //python的for循环实在与其他不同。 i 可为任意类型 不给参数限定 即会遍历范围
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!")
======================================================================================
集合
#交集 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只读是新创一个文件覆盖
# 文件句柄
# 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()
day3学python 字典+列表集合+文件读取的更多相关文章
- python中readline判断文件读取结束的方法
注:内容来自网络 本文实例讲述了python中readline判断文件读取结束的方法.分享给大家供大家参考.具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍 ...
- Python字典列表字段重组形成新的字典
最近遇到这样一个需求,需要将字典列表中的字段进行重组,形成一个新的字典.举个例子吧: l1 = [{"x": 22, "y": 22, "demand ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
- python基础dict,集合,文件
字典是一种key:value的数据类型dict1{ 'stud1':'孙礼昭', 'stud2':'slz', 'stud3':'sunlizhao',}dict是无序的,key是唯一的 天生去重增 ...
- 流畅的python 字典和集合
介绍 dict 类型不但在各种程序里广泛使用,它也是 Python 语言的基石.模块的命名空间.实例的属性和函数的关键字参数中都可以看到字典的身影.跟它有关的内置函数都在 __builtins__._ ...
- Python字典和集合
Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...
- Python 字典dict 集合set
字典dict Python内置字典,通过key-value进行存储,字典是无序的,拓展hash names = ['Michael', 'Bob', 'Tracy'] scores = [95, 75 ...
- Python学习日记之文件读取操作
Python内置了文件读写的函数open,read 用法示例: open('/home/root/files.txt ') 在打开文件后,操作完成后可以使用close()关闭文件,但比较好的文件读写方 ...
- Python 字典和集合基于哈希表实现
哈希表作为基础数据结构我不多说,有兴趣的可以百度,或者等我出一篇博客来细谈哈希表.我这里就简单讲讲:哈希表不过就是一个定长数组,元素找位置,遇到哈希冲突则利用 hash 算法解决找另一个位置,如果数组 ...
随机推荐
- Delphi Help
http://docwiki.embarcadero.com/CodeExamples/Seattle/en/Category:Content_by_Version
- 【原创】ubuntu14.04 LTS系统VMware虚拟机内Windows server 2008 r2系统的网络配置
主系统:ubuntu14.04 LTS 虚拟机:VMware 内系统:Windows server 2008 r2 主系统IP:任何IP 内系统IP:192.168.202.128(自动获取,如果不是 ...
- git rm简介
本文翻译整理自:http://web.mit.edu/~mkgray/project/silk/root/afs/sipb/project/git/git-doc/git-rm.html 在git中我 ...
- bash shell笔记1 脚本基础知识
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/505644 * ...
- 【原】Coursera—Andrew Ng机器学习—Week 2 习题—Linear Regression with Multiple Variables 多变量线性回归
Gradient Descent for Multiple Variables [1]多变量线性模型 代价函数 Answer:AB [2]Feature Scaling 特征缩放 Answer:D ...
- random和os模块
一.random模块 常用方法如下: #-*- coding:utf-8 -*- import random print(random.randint(1,100)) # 获取一个范围内的随机数,包含 ...
- 认识WebRoot和WebContent目录
1.webRoot是不需要加的,因为它是默认的JSP目录,完整的路径应该是:项目名/xxx.jsp,如果在webroot下边建立了文件夹abc,又在abc中建立了xxx.jsp那么此时的路径应为htt ...
- jQuery基础,选择器
jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架).jQuery设计的宗旨是“write Less, ...
- Log4php使用指南
一.Log4php简介 Log4php是Log4xx系列日志组件之一,是Log4j迁移到php的版本,主要用来记录日志信息,支持多种输入目的地,包括:日志文件.日志回滚文件.数据库.日志服务器等等 ...
- Docker学习笔记_安装ActiveMQ
一.实验环境 1.宿主机OS:Win10 64位 2.虚拟机OS:Ubuntu18.04,虚拟机名称:Ubuntu18VM1,虚拟机IP:192.168.8.25 3.操作账号 :Docker 4.在 ...