python学习第三天

字典表

声明

1.默认方法

>>>d={"name":"zhangsan","age":18}
>>>d
Out[3]: {'name': 'zhangsan', 'age': 18}

2.构造函数

In[2]: emp=dict(name='Mike',age=20,job='dev')
In[3]: emp
Out[3]: {'name': 'Mike', 'age': 20, 'job': 'dev'}

获取值的方法

1.d[字典的键]
2. .get()方法

In[4]: emp.get('name')
Out[4]: 'Mike'

合并函数updata

将两个字典合并

In[5]: dep={'department':'xxx'}
In[6]: emp.update(dep)
In[7]: emp
Out[7]: {'name': 'Mike', 'age': 20, 'job': 'dev', 'department': 'xxx'}

获得键或值的方法

In[9]: emp.keys()
Out[9]: dict_keys(['name', 'age', 'job', 'department'])
In[10]: emp.values()
Out[10]: dict_values(['Mike', 20, 'dev', 'xxx'])
In[12]: emp.items()
Out[12]: dict_items([('name', 'Mike'), ('age', 20), ('job', 'dev'), ('department', 'xxx')])
In[13]: for k,v in emp.items():
   ...:     print('{}:{}'.format(k,v))
   ...:     
name:Mike
age:20
job:dev
department:xxx

将键排序的方法

1.将.keys()放入一个变量转换为列表
2.使用全局函数sorted()方法

删除某键值对

.pop(‘键’)方法

元组

特性

和数组相似,只是元组内元素不可变

常用方法

.count(val)和.index(val)和数组类似

namedtuple

和类比较相似的一种简单的结构

In[8]: Emp=namedtuple('Employee',['name','age','salary'])
In[9]: tom=Emp(name='Tom',age=20,salary=9000)
In[10]: tom
Out[10]: Employee(name='Tom', age=20, salary=9000)
In[11]: tom.name
Out[11]: 'Tom'

文件操作

基本语法

file=open(‘文件路径’,mode)
mode:
读r
写w
追加a
二进制b
读写+

In[12]: f=open('a.txt','w')
In[13]: f.write('好好学习\n天天向上\n')
Out[13]: 10
In[14]: f.write('abcdefg')
Out[14]: 7
In[15]: f.close()

此时,文件中文是乱码,可以如下方法改变

In[18]: f=open('a.txt','w',encoding='utf8')
In[19]: f.write('你好\n')
Out[19]: 3
In[20]: f.close()

此时就不是乱码了

读取操作

读取所有内容
read()
读取一行
readline()
读取所有行列表
readlines()

pickle

一种可以将字典保存在二进制文件并读取的相关模块,对应的文件后缀是.pkl
使用起来比较方便,而且用一般的读取方法会得到一些看不懂的内容

In[29]: d={'a':1,'b':2}
In[30]: f=open('d.pkl','wb')
In[31]: import pickle
In[32]: pickle.dump(d,f)
In[33]: f.close()
In[36]: f=open('d.pkl','rb')
In[37]: f.read()
Out[37]: b'\x80\x03}q\x00(X\x01\x00\x00\x00aq\x01K\x01X\x01\x00\x00\x00bq\x02K\x02u.'
In[39]: f=open('d.pkl','rb')
In[40]: data=pickle.load(f)
In[41]: data
Out[41]: {'a': 1, 'b': 2}

文件自动关闭的方法

自动关闭
with open(‘文件路径’) as f:

In[46]: with open('b.txt','r') as f:
   ...:     f.read()
   ...:     
In[47]: with open('b.txt','r') as f:
   ...:     print(f.read())
   ...:     
123456
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值