python学习之路3

Posted 0海棠依旧0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之路3相关的知识,希望对你有一定的参考价值。

1. 字典操作

字典一种key - value 的数据类型。

语法:

1 info = {
2     car01: "Camry",
3     car02: "Teana",
4     car03: "Accord",
5 }

字典的特性:

  • 字典是无序的
  • key必须是唯一

增加

>>> info["car04"] = "q50"
>>> info
{car01: Camry, car02: Teana, car03: Accord, car04: q50}

修改

>>> info["car01"] = "凯美瑞"
>>> info
{car01: 凯美瑞, car02: Teana, car03: Accord, car04: q50}

删除

>>> info
{car01: 凯美瑞, car02: Teana, car03: Accord, car04: q50}
>>> info.pop("car01")
凯美瑞
>>> info
{car02: Teana, car03: Accord, car04: q50}
>>> info
{car02: Teana, car03: Accord, car04: q50}
>>> del info["car02"]
>>> info
{car03: Accord, car04: q50}
#随机删除
>>> info
{car03: Accord, car04: q50}
>>> info.popitem()
(car04, q50)
>>> info
{car03: Accord}

查找

>>> info
{car01: Camry, car02: Teana, car03: Accord}
>>> "car01" in info
True
>>> info.get("car01")
Camry
>>> info["car01"]
Camry
>>> info["car04"]#不存在key的时候get获取不报错显示空值
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: car04
>>> info.get("car04")

循环

#方法1
for key in info:
    print(key,info[key])

#方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
    print(k,v)

2. 集合

集合是一个无序的,不重复的数据组合,它的主要作用如下:

1、去重,把一个列表变成集合,就自动去重了

2、关系测试,测试两组数据之前的交集、差集、并集等关系

s = set([3,5,9,10])      #创建一个数值集合  
  
t = set("Hello")         #创建一个唯一字符的集合  


a = t | s          # t 和 s的并集  
  
b = t & s          # t 和 s的交集  
  
c = t – s          # 求差集(项在t中,但不在s中)  
  
d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
  
   
  
基本操作:  
  
t.add(x)            # 添加一项  
  
s.update([10,37,42])  # 在s中添加多项  
  
   
  
使用remove()可以删除一项:  
  
t.remove(H)  
  
  
len(s)  
set 的长度  
  
x in s  
测试 x 是否是 s 的成员  
  
x not in s  
测试 x 是否不是 s 的成员  
  
s.issubset(t)  
s <= t  
测试是否 s 中的每一个元素都在 t 中  
  
s.issuperset(t)  
s >= t  
测试是否 t 中的每一个元素都在 s 中  
  
s.union(t)  
s | t  
返回一个新的 set 包含 s 和 t 中的每一个元素  
  
s.intersection(t)  
s & t  
返回一个新的 set 包含 s 和 t 中的公共元素  
  
s.difference(t)  
s - t  
返回一个新的 set 包含 s 中有但是 t 中没有的元素  
  
s.symmetric_difference(t)  
s ^ t  
返回一个新的 set 包含 s 和 t 中不重复的元素  
  
s.copy()  
返回 set “s”的一个浅复制

 

 

3. 文件操作

对文件操作流程

1、打开文件,得到文件句柄并赋值给一个变量

2、通过句柄对文件进行操作

3、关闭文件 

 

基本操作

f = open(lyrics) #打开文件
first_line = f.readline()
print(first line:,first_line) #读一行
print(我是分隔线.center(50,-))
data = f.read()# 读取剩下的所有内容,文件大时不要用
print(data) #打印文件
 
f.close() #关闭文件

 

打开文件的模式有:

  • r,只读模式(默认)。
  • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
  • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+,可读写文件。【可读;可写;可追加】
  • w+,写读
  • a+,同a

"U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

  • rU
  • r+U

"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

  • rb
  • wb
  • ab

with语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

with open(log,r) as f:
     
    ...

 

如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

with open(log1) as obj1, open(log2) as obj2:
    pass

 

以上是关于python学习之路3的主要内容,如果未能解决你的问题,请参考以下文章

Python自动化3.0-------学习之路-------函数!

python之路之前没搞明白4面向对象(封装)

Python学习之路-函数

[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段

学习笔记:python3,代码片段(2017)

01-python学习之路