Python学习笔记(3)

 

1.元组

元组的定义符号是() ,元素定义与列表完全一致.不同的是元组的内容是不可变的.

2.字典

字典里面的内容是无序的.

字典的元素组成形式是 key:value

key的定义规则:key是不可变的.并且在字典中是唯一的.

value的定义规则:任意类型

字典的操作:

 1 #查询
 2 dic[key]  如果有空值就报错
 3 dic.get('key') 如果有空值返回none
 4 
 5 #增加/修改
 6 dic['gender'] = 'famale'
 7 dic['name'] = 'Tom'
 8 以上操作字典里没有此元素则增加到字典.如果有则修改值
 9 
10 #删除
11 del dic['key']
12 dic.pop('key')

字典的内建函数:

 1 #清空字典
 2 dic.clear()
 3 
 4 #根据后面给的参数快速生成字典
 5 dic.fromkeys()
 6 
 7 #取key值.无key返回none
 8 dic.get()
 9 
10 #生成k,v形式的元组
11 dic.items()
12 
13 #把所有的key组成一个列表
14 dic.keys()
15 
16 #把所有的value组成一个列表
17 dic.values()
18 
19 #删除指定的key
20 dic.pop()
21 
22 #随机删除一个key
23 dic.popitems()
24 
25 #增加key,当key存在,则返回key,不存在则根据后面的值添加到字典内
26 dic.setdefault()
27 
28 #合并两个字典.如果有重复key.后来居上
29 dic.update()

字典的深浅copy.

浅copy

当需要copy一个字典的时候,简单的copy只会copy第一层的数据(key和value),后面的则是直接引用的老的数据,通过id()可以查看.

深copy

需要导入一个copy模块.使用copy模块的deepcopy方法.可以重新生成一个完全独立的字典.

3.集合

set保存一组不重复的值.

set的方法

 1 set1&set2              #求交集
 2 set1-set2              #求差集
 3 set1.difference_update(set2)  #求差集
 4 set1|set2              #求并集
 5 set1^set2              #求对称交集
 6 set1<=set2             #是否为子集
 7 set1>=set2             #是否为父集
 8 set.update             #序列化更新
 9 set.add()                     #整体加入更新
10 set.pop()               #随机删除一个值
11 set.remove()            #删除指定值,无值报错
12 set.discard()            #删除指定值,无值为none
13 set.clear()               #清空集合

4.文件处理

open('filename','r') #以只读方式打开一个文件

文件的处理方法
 1 #常用方法
 2 f.encodeing()    #打印字符编码
 3 f.closed()          #判断文件是否关闭
 4 f.fileno()           #返回操作系统的文件编号
 5 f.flush()            #强制刷新数据到硬盘
 6 f.isatty()           #判断文件是否为tty接口文件
 7 f.name()           #打印文件名
 8 f.seek()            #移动光标的位置
 9 f.tell()               #打印光标所在的位置
10 f.truncate()       #截断
11 
12 #
13 f=open('Myfile','w')     #创建写模式
14 f=open("myfile",'a')     #追加写模式
15 f=open("myfile",'r+')     #读写模式
16 f=open("myfile",'w+')     #写读模式
17 f=open("myfile",'a+')     #追加读模式
18 f.close()            #保存和关闭文件
19 
20 #删/改
21 目前没有方法直接编辑文件的方法
22 写脚本逐行读取文件.把需要的内容另存为一个新的文件.
23 再重命名回来.
24 
25 #读取            
26 f.readline()    读一行
27 f.readlines()    读整个文件
原文地址:https://www.cnblogs.com/wayde-Z/p/6005949.html