当前位置: 首页 > news >正文

wMy_Python ~储存相关~

 

str,int,list,tuple,dict 是类型调用之后会产生一个 实例

1 >>> brand=["李宁",'耐克','阿迪达斯','鱼C']
2 >>> slogan=['一切皆有可能','Just do it','Impossible is nothing','让编程改变世界']
3 >>> print("鱼C的口号是:",slogan[brand.index('鱼C')])
4 鱼C的口号是: 让编程改变世界

 

1 >>> dict1={"李宁":"一切皆有可能",'耐克':"Just do it",'阿迪达斯':'Impossible is nothing'}
2 >>> print(dict1['李宁'])
3 一切皆有可能
4 >>> print(dict1["李宁"])
5 一切皆有可能

 

1 >>> # dict只能传入一个参数 .
2 >>> dict1=dict((('F',70),['i',105]))
3 >>> dict1
4 {'F': 70, 'i': 105}

 

 1 >>> # dict只能传入一个参数 .
 2 >>> dict1=dict((('F',70),['i',105]))
 3 >>> dict1
 4 {'F': 70, 'i': 105}
 5 >>> dict1['F']=10000
 6 >>> dict1
 7 {'F': 10000, 'i': 105}
 8 >>> dict1["QQ"]=""
 9 >>> dict1
10 {'F': 10000, 'i': 105, 'QQ': ''}

在列表中如果你是用没有的函数 会出错 , 但是在字典中 , 如果没有的话会自动创建一个 . 如上.

1 >>> dict1.fromkeys((1,2,3))
2 {1: None, 2: None, 3: None}
3 >>> dict1.fromkeys((1,2,3),'num')
4 {1: 'num', 2: 'num', 3: 'num'}

如果直接使用fromkeys 会出错的.

1 >>> dict1=dict1.fromkeys(range(1,9),'')
2 Traceback (most recent call last):
3   File "<pyshell#0>", line 1, in <module>
4     dict1=dict1.fromkeys(range(1,9),'')
5 NameError: name 'dict1' is not defined
6 >>> dict1={}
7 >>> dict1=dict1.fromkeys(range(1,9),'')
8 >>> dict1
9 {1: '', 2: '', 3: '', 4: '', 5: '', 6: '', 7: '', 8: ''}

 

 1 >>> for i in dict1.items():
 2         i
 3 
 4     
 5 (1, '')
 6 (2, '')
 7 (3, '')
 8 (4, '')
 9 (5, '')
10 (6, '')
11 (7, '')
12 (8, '')

 

 1 >>> for i in dict1.values():
 2         i
 3 
 4     
 5 ''
 6 ''
 7 ''
 8 ''
 9 ''
10 ''
11 ''
12 ''

 

 1 >>> a={1:'one',2:'two'}
 2 >>> b=a.copy()
 3 >>> c=a
 4 >>> id(a)
 5 48682848
 6 >>> id(b)
 7 48854120
 8 >>> id(c)
 9 48682848
10 >>> # 由此可见 浅拷贝是 将内容放到另一块的储存区域中

 

在dict中批量添加元素.

 1 >>> a={1:'one',2:'two'}
 2 >>> b={3:'three',4:'four'}
 3 >>> a=a+b
 4 Traceback (most recent call last):
 5   File "<pyshell#2>", line 1, in <module>
 6     a=a+b
 7 TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
 8 >>> a.update(b)
 9 >>> a
10 {1: 'one', 2: 'two', 3: 'three', 4: 'four'}
11 >>> b.update(a)
12 >>> b
13 {1: 'one', 2: 'two', 3: 'three', 4: 'four'}

可见字典可有集合的特性 ~'唯一'

 文件的读写.

--------- ---------------------------------------------------------------
'r' open for reading (default)   以只读方式打开(默认)
'w' open for writing, truncating the file first  已写入的方式打开文件 , 会覆盖已存在文件
'x' create a new file and open it for writing  创建一个新的文件,并且打开写入 . (文件已存在会引发异常)
'a' open for writing, appending to the end of the file if it exists  以读写模式打开 , 如果文件存在则将内容添加到文件末尾.
'b' binary mode  二进制模式打开
't' text mode (default)  文本模式打开
'+' open a disk file for updating (reading and writing)   打开一个(磁盘?)文件用于读写 
'U' universal newline mode (deprecated)  
========= ===============================================================

文件对象方法

   

 写一个简单的小程序 .  给你一个txt文件内容如下

小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。。
小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"
小甲鱼:然后呢?
小客服:她买了两个,说发一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!
================================================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~
小甲鱼:哟西~
小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”
小甲鱼:T_T
================================================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12k了!!
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!

将该文件 分割为三部分 , 已经以"====~==="分割. 让你将每一段的每个人说的话自成一个文档 . 代码如下

 1 def save_file(boy,gril,count):
 2     file_name_boy='boy_'+str(count)+'.txt'
 3     file_name_gril='gril_'+str(count)+'.txt'
 4     boy_file=open(file_name_boy,'w')
 5     gril_file=open(file_name_gril,'w')
 6     boy_file.writelines(boy)
 7     gril_file.writelines(gril)
 8     boy_file.close()
 9     gril_file.close()
10 def split_file(file_name):
11     boy=[]              
12     gril=[]
13     count=1
14     f=open(file_name)     # 如果直接写文件名的话 那就默认 , 该文件和程序是在一个地方  .
15     for each_line in f:     # for 读写文件 是一段一段的
16         if each_line[0:6]!="======":    #如果 不是等号的话 .  
17             (role,line_spoken)=each_line.split(":",1)   # 那么就开始收集 分割话语.
18             if role=='小甲鱼':             # 上面函数调用的意思是 , ":"以其为分隔符 , 该字符传""分为二
19                 boy.append(line_spoken)
20             if role=='小客服':
21                 gril.append(line_spoken)
22         else:
23             save_file(boy,gril,count)
24             boy=[]
25             gril=[]
26             count+=1
27     save_file(boy,gril,count)
28     f.close()
29 split_file("record.txt")

 

 

 

转载于:https://www.cnblogs.com/A-FM/p/5663082.html

相关文章:

  • Bean注入报错:org.springframework.beans.factory.BeanCreationException
  • ORA-00918: 未明确定义列
  • [转] 32位 PL/SQL Develope r如何连接64位的Oracle 图解
  • 拥有300万安装量的应用是如何恶意推广刷榜的?
  • IntelliJ IDEA 创建 Java web Maven项目
  • 示波器高压差分探头的了解及常见测量方法
  • js中截取文件的后缀名方法
  • jQuery通过ajax传送数组
  • KEngine:Unity3D资源的打包、加载、调试监控
  • 用idea打包spring boot项目,然后部署到Linux服务器上
  • linux 下查看机器是cpu是几核的(转)
  • 阿里巴巴 Java 开发手册--学习(一)
  • zookeeper监控软件
  • 阿里巴巴 Java 开发手册--学习(二)
  • PTPX中的activity文件以及mapping文件
  • Google 是如何开发 Web 框架的
  • 2018一半小结一波
  • AngularJS指令开发(1)——参数详解
  • ComponentOne 2017 V2版本正式发布
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • Java方法详解
  • node.js
  • Spring Cloud中负载均衡器概览
  • Transformer-XL: Unleashing the Potential of Attention Models
  • vagrant 添加本地 box 安装 laravel homestead
  • 测试开发系类之接口自动化测试
  • 番外篇1:在Windows环境下安装JDK
  • 翻译:Hystrix - How To Use
  • 构建工具 - 收藏集 - 掘金
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 区块链将重新定义世界
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 如何胜任知名企业的商业数据分析师?
  • 使用 @font-face
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 一、python与pycharm的安装
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 赢得Docker挑战最佳实践
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​如何防止网络攻击?
  • # C++之functional库用法整理
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (转)负载均衡,回话保持,cookie
  • (转载)从 Java 代码到 Java 堆
  • .NET Framework .NET Core与 .NET 的区别
  • .NET Micro Framework初体验(二)
  • .Net8 Blazor 尝鲜
  • .NET下ASPX编程的几个小问题
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @angular/cli项目构建--http(2)
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...