• 笔记(用Python做些事情)--变量(字典、文件)


    1. 模式Key-Value:dict={‘xiaoming':90,'xiaohaong':80,'xiaomao':60,'xiaoli':54};
    2. 使用构造函数建立字典dict(元组)/dict(a=1,b=2,c=3),zip将两个相同长度的list生成字典dict(zip(listA,listB));  //zip函数接受任意多个(包括0个和1个)序列作为参数,返回一个tuple列表。具体查看:Python的zip函数
    3. 常用操作:keys,values,get,update,del,clear,嵌套;
      code_dict.update({'php':34254})  //插上新的数据
      code_dict.clear()                //清空字典
    4. 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
    5. 字典:是散列表,没有顺序的数据结构,适合插入,查询操作;(空间换取速度)
    6. 字典:Key不一定是字符串,但一定是不可变对象;
    7. 字典:排序[(k,dict[k]) for k in sorted(dict.keys())]
    8. 字典:sorted(dict.iteritems(), key=lambda d:d[1], reverse=True)
    9. 字典的引用:
      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]]
    10. 字典的浅拷贝(字典有嵌套,只拷贝第一层):字典D.copy(), copy.copy(字典D)
    11. 字典的深拷贝(字典有嵌套,完全拷贝):copy.deepcopy(字典D)
    12. 文件的常用操作:F=open(path, 'r')返回对象为file-like object,还可以是内存,网络等,r,w,a
    13. 文件:F.read()读出一个字节或一个单位、F.readline()读出一行、F.write()写入字符串、F.close()关闭文件
    14. 文件对于中文的支持:
      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)           //重命名
    15. 文件Shelve库:
      1 import shelve
      2 
      3 D = shelve.open(file)
      4 D['name'] = 'heibanke'
      5 D.close()

      //只有一个open函数,返回类似字典的对象,可读可写
    16. 文件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加载对象
  • 相关阅读:
    面试总结
    java高级开发
    idea的快捷键
    微服务面试题目
    windows下jenkins的安装与配置
    微服务面试集合
    springlcoud中使用consul作为注册中心
    乐观锁和悲观锁
    volatile与synchronized的区别
    Java CAS 和ABA问题
  • 原文地址:https://www.cnblogs.com/xiaoyuandy/p/6005856.html
Copyright © 2020-2023  润新知