- 模式Key-Value:dict={‘xiaoming':90,'xiaohaong':80,'xiaomao':60,'xiaoli':54};
- 使用构造函数建立字典dict(元组)/dict(a=1,b=2,c=3),zip将两个相同长度的list生成字典dict(zip(listA,listB)); //zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体查看:Python的zip函数
- 常用操作:keys,values,get,update,del,clear,嵌套;
code_dict.update({'php':34254}) //插上新的数据 code_dict.clear() //清空字典
-
1 code_dict = {'c':123,'shell':3434,'java':7442} 2 a = code_dict.get('python',None) //找不到python就返回None 3 b = code_dict.get('python',’aaaaa‘) //找不到python就返回aaaaa
- 字典:是散列表,没有顺序的数据结构,适合插入,查询操作;(空间换取速度)
- 字典:Key不一定是字符串,但一定是不可变对象;
- 字典:排序[(k,dict[k]) for k in sorted(dict.keys())]
- 字典:sorted(dict.iteritems(), key=lambda d:d[1], reverse=True)
- 字典的引用:
1 L=[4,5,6] 2 X=L*4 //X=[4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6] 3 Y=[L]*4 //Y=[[4, 5, 6], [4, 5, 6], [4, 5, 6], [4, 5, 6]] 4 L[1]=0 //L=[4, 0, 6] 5 print X //X=[4, 5, 6, 4, 5, 6, 4, 5, 6, 4, 5, 6] 6 pirnt Y //Y=[[4, 0, 6], [4, 0, 6], [4, 0, 6], [4, 0, 6]]
- 字典的浅拷贝(字典有嵌套,只拷贝第一层):字典D.copy(), copy.copy(字典D)
- 字典的深拷贝(字典有嵌套,完全拷贝):copy.deepcopy(字典D)
- 文件的常用操作:F=open(path, 'r')返回对象为file-like object,还可以是内存,网络等,r,w,a
- 文件:F.read()读出一个字节或一个单位、F.readline()读出一行、F.write()写入字符串、F.close()关闭文件
- 文件对于中文的支持:
1 //中文支持 2 import codecs 3 f=codecs.open(filename, mode, encoding) //encoding:UTF-8 4 5 //文件操作 6 import os 7 os.path.exists(filename) //判断文件是否存在,返回True或False 8 os.rename(old, new) //重命名
- 文件Shelve库:
1 import shelve 2 3 D = shelve.open(file) 4 D['name'] = 'heibanke' 5 D.close()
//只有一个open函数,返回类似字典的对象,可读可写 - 文件Pickle/cPickle库:
1 import cPickle 2 3 f = open(file, mode) 4 cPickle.dump(obj, f) //把对象obj存到文件f中 5 obj = cPickle.load(f) //使用load把它读出来,存在先入先出的关系
//写:以写的方式打开文件描述符,调用pickle.dump把对象写进去
//读:以读的方式打开文件描述符,调用pickle.load加载对象