1. 字典操作
字典一种 key - value 的数据类型.
语法:
- info = {
- 'car01': "Camry",
- 'car02': "Teana",
- 'car03': "Accord",
- }
字典的特性:
字典是无序的
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 \n \r\n 自动转换成 \n (与 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
来源: http://www.bubuko.com/infodetail-2654295.html